如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。

对于32位程序

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

对于64位程序

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

在对应的路径下添加你程序名字,如a.exe为名的value,DWORD值。

值选项:

10000(0×2710) IE10
9999 (0x270F) IE9 忽略html5
9000 (0×2328) IE9
8888 (0x22B8) IE8 忽略html5
8000 (0x1F40) IE8
7000 (0x1B58) IE7

代码实现

public static void SetIEVersion(string clientName)
        {
            var ver = 11001;
            var version = new WebBrowser().Version;
            if (version.Major == 11) ver = 11001;
            else if (version.Major == 10) ver = 10001;
            else if (version.Major == 9) ver = 9000;
            else if (version.Major == 8) ver = 8000;
            else if (version.Major == 7) ver = 7000;

SetIE($"{clientName}.exe", ver);
            SetIE($"{clientName}.vshost.exe", ver);
        }

public static void SetIE(string client, int version)
        {
            var subPath = @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
            var registryKey = OpenOrCreateSubKey(Registry.LocalMachine, subPath, true);
            registryKey.SetValue(client, version, RegistryValueKind.DWord);
            subPath = @"SOFTWARE\Microsoft\WOW6432Node\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
            registryKey = OpenOrCreateSubKey(Registry.LocalMachine, subPath, true);
            registryKey.SetValue(client, version, RegistryValueKind.DWord);
        }

Webbrowser控件使用IE内核版本相关推荐

  1. pb调用计算机默认游览器,PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)...

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...

  2. html指定ie内核,指定Webbrowser控件所用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,在Visual Studio Webbrowser控件默认使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我 ...

  3. C# 指定Webbrowser控件所用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做form.exe,以6 ...

  4. VB 指定IE控件WebBrowser1的内核版本为IE11

    '值 说明 '10001 (0x2711)  Internet Explorer 10.网页以IE 10的标准模式展现,页面!DOCTYPE无效 '10000 (0x02710) Internet E ...

  5. 强制IE浏览器或WebBrowser控件使用指定版本显示网页

    最近为了抓取淘宝的成交数据,用C#的WebBrowser控件开发了一个简单的程序. 发现WebBrowser控件默认使用的版本是IE7的兼容模式.而淘宝的宝贝详细页居然对IE7的支持不是很好. 成交记 ...

  6. [JavaScript]WebBrowser控件下IE版本的检测

    转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...

  7. 修改WebBrowser控件的内核解决方案

    修改WebBrowser控件的内核解决方案 参考文章: (1)修改WebBrowser控件的内核解决方案 (2)https://www.cnblogs.com/sung/p/3391264.html ...

  8. 为IE内核的WebBrowser控件内存泄漏所烦恼的可以考虑用Cefsharp代替它!

    为IE内核的WebBrowser控件内存泄漏所烦恼的朋友们,可以考虑用Cefsharp代替WebBrowser控件 特意做了一个程序来测试 利用Cefsharp做控件,访问网站.每分钟刷新2次,初始时 ...

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

    日期:2022年01月12日 作者:Commas 注释:最近遇到一个WIN7 32位用户,用脚本怎么指定IE版本,怎么不成功,手动修改注册表却成功了,琢磨了一下,发现问题了,所以就想着做一个比较全面的 ...

最新文章

  1. apple id无法创建_我如何为我的Apple收藏夹创建网站
  2. python - 字符串的格式化输出
  3. ARM QT实现多点触摸【转】
  4. LESSON 10.410.510.6 贝叶斯优化的基本流程BayesOpt vs HyperOpt vs Optuna batch基于BayesOpt实现高斯过程gp优化
  5. 【PAT笔记】PAT中的散列思想
  6. Suffix Zeroes
  7. 152. 乘积最大子数组
  8. Gradle中的默认任务和任务依赖关系设置
  9. C++插入中文到mysql乱码
  10. python执行shell脚本、执行mongodb_mongodb执行js脚本(一)---shell执行
  11. 天涯明月刀怎么导入php捏脸数据,天涯明月刀捏脸数据怎么导入 天涯明月刀捏脸数据在哪...
  12. 美检方或起诉刘强东;百度对呛微信规则;澳洲调查 Facebook | 极客头条
  13. vertica数据库将一个字段用逗号分割与拼接
  14. 出租车轨迹数据地图匹配
  15. 谈谈你怎么理解产品经理
  16. FFT中的频谱泄露现象分析
  17. C++常用的大小写转换的方法
  18. mysql计算年休假天数_年休假天数计算方法是怎样的
  19. word2vec加载异常解决:UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes in position。。。
  20. 目前主流服务器厂商有哪些?都有什么型号

热门文章

  1. [软考总结]尽全力,便无悔
  2. 开源ThinkMusic搭建音乐网站,并实现公网连接
  3. android matrix 简书,[Android] ImageView ScaleType完全解析
  4. 微信支付开通H5支付
  5. 常用个人邮箱之用户体验分析
  6. 要想将计算机的第一启动,如何将usb设为第一启动项 将usb设为第一启动项的方法...
  7. php学习练手(一)
  8. 把笑容酿成毒酒,与君共饮
  9. python怎么打开qq_Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
  10. 博途v15 计算机配置,博途v15对电脑硬件有哪些要求