VB设置WebBrowser1的IE版本

VB内嵌网页,好像只有 WebBrowser 控件 嵌入。开发过程中遇到一个非常变态的问题,无论目标主机 安装的什么IE版本,都是按IE7的模式显示。现在很多网站已经不支持IE7了,这个问题非常蛋疼。

翻阅了很多资料,最终在 Stack Overflow(http://stackoverflow.com/questions/14974502/c-sharp-internet-explorer-9-and-axwebbrowser)找到了解决方法。不仅能解决VB的WebBrowser1的IE版本控制。还能解决C#的IE版本控制,VB.Net的IE版本控制。操作非常简单,只需要修改下注册表就可以了。

如果是32位系统,修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION(),如果没有 项 FEATURE_BROWSER_EMULATION,需要手工创建项。然后新建DWORD项目,名称为 您的应用程序名称,比如:miaoqiyuan.exe,选择 十进制,值为:8000(假如电脑安装的IE8,十六进制值为00001f40)或 9000(假如电脑安装的IE9,十六进制值为:00001f40)。

VB-WebBrowser-IE-Version

如果是64位系统,修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION,如果没有项 FEATURE_BROWSER_EMULATION,需要手工创建项。然后新建DWORD项目,和32位心痛操作一样,这里不再重述。

挨个电脑手工修改非常,也可以通过程序自动修改注册表。或者新建个reg文件,让客户根据自己的电脑实际情况导入。

我的解决方法,提供两个注册表文件,让客户自行导入(这种麻烦,但是是最简单的方法):

将下面的代码保存为:IE8.reg,miaoqiyuan.exe 改成你程序的名称。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"miaoqiyuan.exe"=dword:00001f40
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"miaoqiyuan.exe"=dword:00001f40

将下面的代码保存为:IE9.reg,miaoqiyuan.exe 改成你程序的名称。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"miaoqiyuan.exe"=dword:00002328
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"miaoqiyuan.exe"=dword:00002328

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.