C#完美任意设置webBrowser框架默认的IE内核版本
通常情况下,我们直接调用C#控件webBrowser1控件的时候 默认是IE7 用webBrowser1控件打开IE内核检测网站内容是这样滴
我们在程序里面写入以下代码
/// <summary>
/// 修改注册表信息来兼容当前程序
///
/// </summary>
static void SetWebBrowserFeatures(int ieVersion)
{
// don't change the registry if running in-proc inside Visual Studio
if (LicenseManager.UsageMode != LicenseUsageMode.Runtime)
return;
//获取程序及名称
var appName = System.IO.Path.GetFileName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
//得到浏览器的模式的值
UInt32 ieMode = GeoEmulationModee(ieVersion);
var featureControlRegKey = @"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\";
//设置浏览器对应用程序(appName)以什么模式(ieMode)运行
Registry.SetValue(featureControlRegKey + "FEATURE_BROWSER_EMULATION",
appName, ieMode, RegistryValueKind.DWord);
// enable the features which are "On" for the full Internet Explorer browser
//不晓得设置有什么用
Registry.SetValue(featureControlRegKey + "FEATURE_ENABLE_CLIPCHILDREN_OPTIMIZATION",
appName, 1, RegistryValueKind.DWord);
//Registry.SetValue(featureControlRegKey + "FEATURE_AJAX_CONNECTIONEVENTS",
// appName, 1, RegistryValueKind.DWord);
//Registry.SetValue(featureControlRegKey + "FEATURE_GPU_RENDERING",
// appName, 1, RegistryValueKind.DWord);
//Registry.SetValue(featureControlRegKey + "FEATURE_WEBOC_DOCUMENT_ZOOM",
// appName, 1, RegistryValueKind.DWord);
//Registry.SetValue(featureControlRegKey + "FEATURE_NINPUT_LEGACYMODE",
// appName, 0, RegistryValueKind.DWord);
}
/// <summary>
/// 获取浏览器的版本
/// </summary>
/// <returns></returns>
static int GetBrowserVersion()
{
int browserVersion = 0;
using (var ieKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer",
RegistryKeyPermissionCheck.ReadSubTree,
System.Security.AccessControl.RegistryRights.QueryValues))
{
var version = ieKey.GetValue("svcVersion");
if (null == version)
{
version = ieKey.GetValue("Version");
if (null == version)
throw new ApplicationException("Microsoft Internet Explorer is required!");
}
int.TryParse(version.ToString().Split('.')[0], out browserVersion);
}
//如果小于7
if (browserVersion < 7)
{
throw new ApplicationException("不支持的浏览器版本!");
}
return browserVersion;
}
/// <summary>
/// 通过版本得到浏览器模式的值
/// </summary>
/// <param name="browserVersion"></param>
/// <returns></returns>
static UInt32 GeoEmulationModee(int browserVersion)
{
UInt32 mode = 11000; // Internet Explorer 11. Webpages containing standards-based !DOCTYPE directives are displayed in IE11 Standards mode.
switch (browserVersion)
{
case 7:
mode = 7000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
break;
case 8:
mode = 8000; // Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
break;
case 9:
mode = 9000; // Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
break;
case 10:
mode = 10000; // Internet Explorer 10.
break;
case 11:
mode = 11000; // Internet Explorer 11
break;
}
return mode;
}
然后在在如图所示写入 调用
SetWebBrowserFeatures(11);
可以看到 已经设置为IE11的内核了
---------------------
作者:_陈陆亮
来源:CSDN
原文:https://blog.csdn.net/ChenLuLiang/article/details/79785809
版权声明:本文为博主原创文章,转载请附上博文链接!
C#完美任意设置webBrowser框架默认的IE内核版本相关推荐
- pb调用计算机默认游览器,PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)...
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...
- 【Linux】如何设置Centos启动默认使用的内核
目录 CentOS8 修改方法 CentOS7 修改方法 原理说明 报错处理 grubby是一个用于更新和显示有关各种体系结构特定的引导程序的配置文件信息的命令行工具. 它主要设计用于安装新内核并需要 ...
- Centos7选定默认启动的内核版本
#使用cat /boot/grub2/grub.cfg |grep menuentry 查看系统可用内核 [root@bigapp-slave27 ~]# cat /boot/grub2/grub. ...
- html指定ie内核,指定Webbrowser控件所用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,在Visual Studio Webbrowser控件默认使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我 ...
- C# 指定Webbrowser控件所用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做form.exe,以6 ...
- Webbrowser控件使用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 对于32位程序 HKEY_LOCAL_ ...
- C#设置WebBrowser IE浏览器版本
通过修改注册表的值,来指定winform程序打开的webBrowser的IE版本 1>方法一,通过程序修改注册表的值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- Django笔记01-基础:一个完美主义的web框架
浅谈Web框架 一,什么是框架? 软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品, 框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系 通常情况下我们依据框架来实现更为复杂 ...
- 设置Jupyter notebook 默认工作路径,修改Jupyter notebook 默认浏览器为Chrome
这里写目录标题 一 设置Jupyter notebook 默认工作路径 二 修改Jupyter notebook 默认浏览器为Chrome 一 设置Jupyter notebook 默认工作路径 安装 ...
最新文章
- iOS开发-UIColor转UIIamge方法
- 十个经典Java 集合面试题!
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
- s3c2410开发环境建立
- ASPxPopupControl出现前一次弹框页面解决方法
- mysql学习笔记之mysqlparameter(摘)
- 重磅发布 | 阿里云视图计算,边缘计算的主“战”场
- A. Second Order Statistics(sort 水题)
- html5标签兼容低版本浏览器
- 快速数论变换(NTT)
- AnyForWeb告诉你什么才是“最好的”编程语言
- JS动态加载JSON文件并读取数据
- 同步回调与异步回调区别
- 解决谷歌浏览器被篡改主页问题
- Azkaban学习之路
- gopher协议总结
- 执行若依(ruoyi)项目
- APISpace 让你快速获取名言警句
- 数据库冗余存储设计对读取性能影响的测试
- Spark面试,Spark面试题,Spark面试汇总
热门文章
- C++word break断字(基于单词或字符串)(附完整源码)
- QT的QBluetoothDeviceDiscoveryAgent类的使用
- 减少C++编译时间的方法
- php 反向截取,反向PHP功能
- oracle按特定字符截取字符串_妙用字符串的替换和截取让Shell脚本精准得到你心中的那个“她”...
- 基于mysql实现的网站_[源码和文档分享]基于JavaScript和MySQL的文化平台网站的设计与实现...
- 10个精选的颜色选择器Javascript脚本及其jQuery插件
- FreeMarker生成word的代码
- 1.Cocos2dx 3.2中vector,ValueMap,Touch触摸时间的使用.iconv字符编解码
- Oracle实例和服务知识点