通过修改注册表的值,来指定winform程序打开的webBrowser的IE版本

1>方法一,通过程序修改注册表的值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/// <summary>
/// 定义IE版本的枚举
/// </summary>
private enum IeVersion
{
    强制ie10,//10001 (0x2711) Internet Explorer 10。网页以IE 10的标准模式展现,页面!DOCTYPE无效
    标准ie10,//10000 (0x02710) Internet Explorer 10。在IE 10标准模式中按照网页上!DOCTYPE指令来显示网页。Internet Explorer 10 默认值。
    强制ie9,//9999 (0x270F) Windows Internet Explorer 9. 强制IE9显示,忽略!DOCTYPE指令
    标准ie9,//9000 (0x2328) Internet Explorer 9. Internet Explorer 9默认值,在IE9标准模式中按照网页上!DOCTYPE指令来显示网页。
    强制ie8,//8888 (0x22B8) Internet Explorer 8,强制IE8标准模式显示,忽略!DOCTYPE指令
    标准ie8,//8000 (0x1F40) Internet Explorer 8默认设置,在IE8标准模式中按照网页上!DOCTYPE指令展示网页
    标准ie7//7000 (0x1B58) 使用WebBrowser Control控件的应用程序所使用的默认值,在IE7标准模式中按照网页上!DOCTYPE指令来展示网页
}
/// <summary>
/// 设置WebBrowser的默认版本
/// </summary>
/// <param name="ver">IE版本</param>
private void SetIE( IeVersion ver)
{
    string productName = AppDomain.CurrentDomain.SetupInformation.ApplicationName;//获取程序名称
    object version;
    switch (ver)
    {
        case IeVersion.标准ie7:
            version = 0x1B58;
            break;
        case IeVersion.标准ie8:
            version = 0x1F40;
            break;
        case IeVersion.强制ie8:
            version = 0x22B8;
            break;
        case IeVersion.标准ie9:
            version = 0x2328;
            break;
        case IeVersion.强制ie9:
            version = 0x270F;
            break;
        case IeVersion.标准ie10:
            version = 0x02710;
            break;
        case IeVersion.强制ie10:
            version = 0x2711;
            break;
        default :
            version = 0x1F40;
            break;
    }
    RegistryKey key = Registry.CurrentUser;
    RegistryKey software =
        key.CreateSubKey(
            @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\" + productName);
    if (software != null)
    {
        software.Close();
        software.Dispose();
    }
    RegistryKey wwui =
        key.OpenSubKey(
            @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION"true);
    //该项必须已存在
    if (wwui != null) wwui.SetValue(productName, version, RegistryValueKind.DWord);
}

参考:https://www.cnblogs.com/codeyou/p/4943017.html

2>方法二:手动修改注册表的值

假设winform程序的名称是TestWebBrowser.exe。

1、在开始菜单内输入“regedit.exe”,进入注册表编辑器

2、找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

3、在右侧空白区域内单击鼠标右键,点击【新建】→【DWORD(32-位)值】

4、新建的项取名为TestWebBrowser.exe,编辑值时,选择基数“十进制”,填写数值数据,这里填写8888

5、这个时候再进入Debug目录下生成好的TestWebBrowser,可以看到登录的内核版本变成IE8了!

参考:https://blog.csdn.net/herogui/article/details/51982474

C#设置WebBrowser IE浏览器版本相关推荐

  1. webbrowser 修改浏览器版本的方法

    http://blog.csdn.net/herogui/article/details/51982474 转载于:https://www.cnblogs.com/muxueyuan/p/829555 ...

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

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

  3. C#完美任意设置webBrowser框架默认的IE内核版本

    通常情况下,我们直接调用C#控件webBrowser1控件的时候 默认是IE7  用webBrowser1控件打开IE内核检测网站内容是这样滴 我们在程序里面写入以下代码 /// <summar ...

  4. 360浏览器 自动跳转到https://g.csdnimg.cn/browser_upgrade/1.0.2/index.html你当前的浏览器版本过低,存在安全风险,请尽快升级浏览器,并设置新安装的

    问题的现象 点击CSDN编辑时,或者其他网页时自动出现这么个恶心的东西,自动跳转到网站:https://g.csdnimg.cn/browser_upgrade/1.0.2/index.html 显示 ...

  5. C#设置WebBrowser使用Edge内核

    1. 问题描述 用C#写了一个小工具, 需要显示网页上的内容, 但WebBrowser使用的是IE内核, 不能很好的展示网页 2. 解决方法 通过一些尝试, 在巧合之下找出了一种方法, 成功的让Web ...

  6. chrome浏览器的跨域设置 Google Chrome浏览器下开启禁用缓存和js跨域限制--disable-web-security...

    chrome用户默认路径 Win7:C:\Users\[用户名]\AppData\Local\Google\Chrome\User Data\ XP:C:\Documents and Settings ...

  7. vue中脚手架设置自动打开浏览器打开后地址为http://0.0.0.0:8080/

    1.问题描述 在创建了一个vue-cli的时候,设置启动服务浏览器自动打开的时候,发生了如下图的情况 IP地址不是之前手动打开的loclhos:8080而是0.0.0.0:8080 解决方法 只能将最 ...

  8. 判断浏览器版本是否ie8,ie9,ie10,ie11并提示升级

    判断是否IE浏览器极其版本主要是三种方法,第一种是通过 if IE 条件注释语句,第二种是通过 @cc_on 条件编译结合 document.documentMode 属性来判断,第三种则是简单粗暴地 ...

  9. 解决浏览器驱动和浏览器版本不匹配的报错:This version of ChromeDriver only supports Chrome version 97

    报错信息 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versi ...

最新文章

  1. python可以从事什么工作-学Python可以找什么工作或者做什么兼职?
  2. BSS段,数据段,代码段,堆内存和栈
  3. windows + vscode 远程配置
  4. linux树形目录结构存放,Linux目录结构
  5. 为github帐号添加SSH keys
  6. cad转shp格式带属性_Excel、Word、PPT、CAD办公格式怎么转?方法汇总,可批量
  7. java 中方法里的参数_【Java基础】12、java中方法的参数传递机制
  8. Activity与Fragment生命周期
  9. 广东财经大学计算机专业学费,广东财经大学各专业一年至少需要交的学费
  10. 五、Oracle学习笔记:DQL数据查询语句
  11. ad输出光绘文件_AD输出文件教程
  12. 我是一个人喜欢写博客的人
  13. Stata Journal 2001-2019年全部期刊目录及下载链接
  14. 对于一个小白来说,遇到的前端问题(3)
  15. 数字人枫灵Lynn,获得江苏省文化产业周刊关注!
  16. 使用STAR进行RNA-seq数据比对
  17. C++ 惯用法之 Nifty Counter
  18. 漫画算法:什么是跳跃表?
  19. [NXP.iMX6UL] 驱动开发
  20. uniapp - [完美解决] 手机数字键盘没有小数点,当 input 输入框的 type 属性设置 number 后,手机系统的软键盘无法输入小数点和符号问题(此方案 uniapp 全端全平台适用)

热门文章

  1. OpenCV为轮廓创建边界旋转框和椭圆
  2. C语言unit test单元测试类的实现(附完整源码)
  3. c语言实现stack的算法(附完整源码)
  4. C++旋转二维MxN矩阵的算法(附完整源码)
  5. c语言二进制转十进制(附完整源码)
  6. QT的QDrag类的使用
  7. QT的QBrush类的使用
  8. 14.VisualVM使用详解、15.VisualVM堆查看器使用的内存不足、19.class文件--文件结构--魔数、20.文件结构--常量池、21.文件结构访问标志(2个字节)、22.类加载机制概
  9. mysql数据实时同步:Canal安装部署、kafka安装、zk安装、mysql安装、Canal Server+Canal Client HA,Canal+mysql+Kafka,相关验证(学习笔记)
  10. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)