最近为了抓取淘宝的成交数据,用C#的WebBrowser控件开发了一个简单的程序. 发现WebBrowser控件默认使用的版本是IE7的兼容模式.而淘宝的宝贝详细页竟然对IE7的支持不是很好. 成交记录没法显示,而我本机安装的是IE10,那么有没有办法使个人WebBrowser控件的使用的IE版本高点呢? 查找到了MSDN的一篇文章,上面有详细的说明,简单翻译以下:
1,打开注册表
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION contoso.exe = (DWORD) 00000000
其中的"contoso.exe"为您的程序名字.即嵌入了WebBrowser控件的可执行程序的名字. 后面的数值"00000000"表明WebBrowser控件使用的IE的版本,值对应的IE版本以下图:
若是您使用的是64位的操做系统,而你的程序是32位的,那么你则要在如下注册表中更改该值.
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER) SOFTWARE Wow6432Note Microsoft Internet Explorer Main FeatureControl FEATURE_BROWSER_EMULATION contoso.exe = (DWORD) 00000000
360浏览器,傲游浏览器,淘宝浏览器等均可以用这种方式来操做.浏览器
注意: 我使用VS2010编译的时候,若是是Debug模式,那么我在注册表中更改的内容无效;若是使用了Release模式,则注册表的内容当即生效!less
2017-07-19补充IE11的使用方法ide
- 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 directives are displayed in IE9 mode
- 10000 (0x2710) :Internet Explorer 10. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
- 10001 (0x2AF7) :Internet Explorer 10. Webpages are displayed in IE10 Standards mode, regardless of the !DOCTYPE directive.
- 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 directives are displayed in IE9 mode.
- 8888 (0x22B8) :Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
- 8000 (0x1F40) :Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
- 7000 (0x1B58) :Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.