给WebBrowser控件指定IE的使用版本

日期:2022年01月12日
作者:Commas
注释:最近遇到一个WIN7 32位用户,用脚本怎么指定IE版本,怎么不成功,手动修改注册表却成功了,琢磨了一下,发现问题了,所以就想着做一个比较全面的总结,一方面方便自己查阅,另一方面也希望可以帮助到需要帮助的小伙伴们,避免踩坑。若有纰漏,请各位小伙伴们指正;若有帮助,希望可以帮忙点个赞,谢谢 ^ _ ^


目录

文章目录


一、原理与IE参数浅谈

原理:若注册表有指定参数,则按照指定的IE版本运行,否则按照系统默认的IE版本运行;另外使用的电脑也一定要有安装指定的IE版本,才可以按照指定的IE版本运行;

WebBrowser控件指定IE版本有两种方法:
1、手工修改注册表信息;
2、双击运行脚本文件(reg文件);

Dec Hex Description
11001 0x2EDF Internet Explorer 11.Webpages are displayed in IE11 Standards mode,regardless of the !DOCTYPE directive.
11000 0x2AF8 Internet Explorer 11.Webpages containing standards-based !DOCTYPE directive are displayed in IE11 Standards mode.Default value for Internet Explorer 11.
10001 0x2711 Internet Explorer 10.Webpages are displayed in IE10 Standards mode,regardless of the !DOCTYPE directive.
10000 0x2710 Internet Explorer 10.Webpages containing standards-based !DOCTYPE directive are displayed in IE10 Standards mode.Default value for Internet Explorer 10.
9999 0x270F Internet Explorer 9.Webpages are displayed in IE9 Standards mode,regardless of the !DOCTYPE directive.
9000 0x2328 Internet Explorer 9.Webpages containing standards-based !DOCTYPE directive are displayed in IE9 Standards mode.Default value for Internet Explorer 9.
8888 0x22B8 Internet Explorer 8.Webpages are displayed in IE8 Standards mode,regardless of the !DOCTYPE directive.
8000 0x1F40 Internet Explorer 8.Webpages containing standards-based !DOCTYPE directive are displayed in IE8 Standards mode.Default value for Internet Explorer 8.
7000 0x1B58 Internet Explorer 7.Webpages containing standards-based !DOCTYPE directive are displayed in IE7 Standards mode.Default value for applications hosting the WebBrowser Control.

二、手工修改注册表信息

对于注册表的注册,得根据 xx位电脑系统 + xx位的应用程序 来选择路径进行注册,分两种情况,我将其称之为同位异位,分别如下所示:

  • 同位32位系统使用32位的应用程序64位系统使用64位的应用程序

给WebBrowser控件指定IE的使用版本

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
    SOFTWARE
       Microsoft
          Internet Explorer
             Main
                FeatureControl
                   FEATURE_BROWSER_EMULATION
                      HelpPane.exe = (REG_DWORD) 00002710

其中HelpPane.exe是程序的名字,即嵌入了WebBrowser控件的可执行程序的名字,而数值00002710代表WebBrowser控件使用的IE的版本是IE10。

  • 异位64位系统使用32位的应用程序

给WebBrowser控件指定IE的使用版本

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
    SOFTWARE
		WOW6432Node
	       Microsoft
    	      Internet Explorer
        	     Main
            	    FeatureControl
                	   FEATURE_BROWSER_EMULATION
                    	  AutoTax.exe = (REG_DWORD) 00002328

其中AutoTax.exe是程序的名字,即嵌入了WebBrowser控件的可执行程序的名字,而数值00002328代表WebBrowser控件使用的IE的版本是IE9。

三、双击运行脚本文件

AppName为嵌入了WebBrowser控件的可执行程序的名字,可以根据自己的应用程序名称,自行修改,以下为示例:

应用程序名称 DWORD(32位)值(D) 指定IE版本
AppName1 dword:00002af8 IE11
AppName2 dword:00002710 IE10
AppName3 dword:00002328 IE9
AppName4 dword:00001F40 IE8
AppName5 dword:00001B58 IE7
  • 同位32位系统使用32位的应用程序64位系统使用64位的应用程序
    以下代码的文件名称为test_same.reg,双击运行此文件即可注册;
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"AppName1.exe"=dword:00002af8
"AppName2.exe"=dword:00002710
"AppName3.exe"=dword:00002328
"AppName4.exe"=dword:00001F40
"AppName5.exe"=dword:00001B58
  • 异位64位系统使用32位的应用程序
    以下代码的文件名称test_diff.reg,双击运行此文件即可注册;
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"AppName1.exe"=dword:00002af8
"AppName2.exe"=dword:00002710
"AppName3.exe"=dword:00002328
"AppName4.exe"=dword:00001F40
"AppName5.exe"=dword:00001B58

参考文章:
1、《WebBrowser控件默认使用IE9,IE10的方法》
2、《Wow6432Node》
3、《后端 关于 WOW6432Node》


版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/122429626

上一篇:网页制作 HTML设为首页和加入收藏_动力节点Java学院整理


下一篇:关于WndProc函数的使用