.net WPF网络浏览器版本
WPF WebBrowser控件是否依赖于安装在用户机器上的IE版本,或者是否使用跨机器一致的单独库?我已经读到它只在IE7模式下呈现,但我想确保没有安装IE或由于某种原因仍在IE6上的用户不会出现任何问题。指示它重新托管IE ActiveX控件: WebBrowser控件在内部实例化本机WebBrowser ActiveX控件 WebBrowser ActiveX控件更好地称为.net WPF网络浏览器版本,.net,wpf,browser,webbrowser-control,.net,Wpf,Browser,Webbrowser Control,WPF WebBrowser控件是否依赖于安装在用户机器上的IE版本,或者是否使用跨机器一致的单独库?我已经读到它只在IE7模式下呈现,但我想确保没有安装IE或由于某种原因仍在IE6上的用户不会出现任何问题。指示它重新托管IE ActiveX控件: WebBrowser控件在内部实例化本机WebBrowser ActiveX控件 WebBrowser ActiveX控件更好地称为Shdocvw.dll。这反过来又包装了Mshtml.dll,可能还包装了给定环境的其他dll: 对于承载WebBro
Shdocvw.dll
。这反过来又包装了Mshtml.dll
,可能还包装了给定环境的其他dll:
对于承载WebBrowser控件的应用程序,默认值为7000
。要使用注册表控制此功能的值,请将可执行文件的名称添加到以下设置中,并将该值设置为与所需设置相匹配
0x7000
表示IE7兼容模式。因此,如果希望WPF应用程序使用其他模式进行渲染,则需要更新注册表,如下所示:
我使用IE11在机器上创建了一个带有WebBrowser控件的WPF应用程序,并获得以下用户代理字符串:
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; .NET CLR 1.1.4322)
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
我使用IE10在机器上创建了一个带有WebBrowser控件的WPF应用程序,并获得以下用户代理字符串:
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; .NET CLR 1.1.4322)
user agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
Trident/7.0表示IE11,Trident/6.0表示IE10
使用IE10的系统的页面呈现方式也与使用IE11的系统不同。我还通过每个系统上的独立IE浏览器验证了这一点
我还没有在没有IE或运行IE6的系统上尝试过它,但WebBrowser控件似乎与系统上当前安装的IE版本有关 另一个有用的资源是。问题是,“WPF WebBrowser控件是否取决于系统上安装的IE版本?”这个答案只是讨论了如何设置或覆盖IE7仿真。如果用户的计算机上没有安装IE或IE6,会发生什么情况?我创建了一个基本网页,告诉您IE运行的兼容模式: