c# set Webbowser version with WPF/Winform app
<Window x:Class="TestWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:local="clr-namespace:TestWPF"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<TextBox x:Name="txt" AcceptsReturn="True" Height="40" VerticalAlignment="Top"/>
<WindowsFormsHost HorizontalAlignment="Stretch" Margin="15,0,15,5" x:Name="wfHost">
<wf:WebBrowser x:Name="web"></wf:WebBrowser>
</WindowsFormsHost>
</Grid>
</Window>
set IE version:
/// <summary>
/// 定义IE版本的枚举
/// </summary>
public enum IeVersion
{
//see https://docs.microsoft.com/zh-cn/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN
强制ie11,//11001 (0x2AF9)
标准ie11,//11000 (0x2AF8)
强制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>
public static 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;
case IeVersion.标准ie11:
version = 0x2AF8;
break;
case IeVersion.强制ie11:
version = 0x2AF9;
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 reg =
key.OpenSubKey(
@"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
//该项必须已存在
if (reg != null) reg.SetValue(productName, version, RegistryValueKind.DWord);
}
call:
SetIE(IeVersion.标准ie11);
c# set Webbowser version with WPF/Winform app的更多相关文章
- C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法的示例与源码下载带详细注释-源码代码-注册表方式-启动目录快捷方式 C#实现自动启动的方法-两种方法 源码下载地址: ...
- 富客户端 wpf, Winform 多线程更新UI控件
前言 在富客户端的app中,如果在主线程中运行一些长时间的任务,那么应用程序的UI就不能正常相应.因为主线程要负责消息循环,相应鼠标等事件还有展现UI. 因此我们可以开启一个线程来格外处理需要长时间的 ...
- C# webBrowser(wpf/winform) 互调js
1.winform [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] [ComVisible(true)] pu ...
- WPF&Winform版本地图引擎
最近几年一直从事地图方面的工作,自主研发了WPF和Winform两个版本瓦片地图引擎.轻量级.不依赖第三库.先上一张图片展示一下吧! 产品包括服务端和客户端两部份: 1.服务端主要地图图层配制和空间计 ...
- winform app.cpnfig 文件的引用
1.app.config配置文件修改 <?xml version="1.0" encoding="utf-8"?> <configuratio ...
- wpf/winform获取windows10系统颜色和主题色
Windows10开始微软在系统颜色中添加了深色,对于UWP来说很轻松就能获取到系统当前的颜色和主题色,而对于Win32应用就没有那么直观了. 在wpf中,可以通过SystemParameters.W ...
- WPF + Winform 解决管理员权限下无法拖放文件的问题
wpf,winform混合解决管理员权限无法拖放文件的问题 学习自: https://zhuanlan.zhihu.com/p/343369663 https://zhuanlan.zhihu.com ...
- winform app.config文件的动态配置
获取 获取应用程序exe.config文件中 节点value值 /// <summary> /// 功能: 读取应用程序exe.config文件中 /// appSettings节点下 ...
- WPF应用App.Config文件的保存路径
App.Config文件有更改后,自动会保存到以下路径: C:\Users\你的系统用户名\AppData\Local\你的应用名\
- wpf winform 截图
wpf 通过下面的截图,标题可能会丢失. public void CreateBitmapFromVisual(Window win, string fileName) { ...
随机推荐
- 解决mysql的语句中group_concat长度限制问题
在mysql中,有个函数叫"group_concat",平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了.其实MYSQL内部对这个是有设置的,默认不设置的长度是10 ...
- C++之OpenCV入门到提高004:Mat 对象的使用
一.介绍 今天是这个系列<C++之 Opencv 入门到提高>得第四篇文章.这篇文章很简单,介绍如何使用 Mat 对象来实例化图像实例,了解它的构造函数和常用的方法,这是基础,为以后的学习 ...
- Air780E软件指南:zlib解压示例
一.ZLIB解压工具简介 Zlib解压工具是一个广泛使用的压缩和解压缩库,主要用于处理数据的压缩和解压缩任务.Zlib使用的是DEFLATE算法,这是一种通用的压缩算法.它被应用在很多场景中,比如压缩 ...
- token、cookie、session的区别
token是验证用户身份的令牌,通常是用于接口的身份验证,一般获取之后放在请求头中 cookie和session的区别: cookie是服务器发送到客户端然后存储在客户端的,可以用来保持用户的登录信息 ...
- jmeter接口测试应用
一.jmeter下载 安装jmeter: 地址https://jmeter.apache.org/download_jmeter.cgi 下载 [apache-jmeter-XXX. zip ]解压缩 ...
- Collections Framework中的算法(之三)--不可变装饰器相关
本篇主要讲述Collections类中的unmodifiable相关的方法!这些方法都有一个共同含义就是使用此方法创建的对象都是不可变的!典型的装饰器模式的应用!下面的几篇都是装饰器模式在Java C ...
- golang配置读取值viper
viper简介 Viper是Go应用程序的完整配置解决方案,包括12-Factor应用程序.它旨在在应用程序中工作,并且可以处理所有类型的配置需求和格式.它支持: 设置默认值 从JSON.TOML.Y ...
- 【ElementPlus】el-form使用技巧:动态切换校验规则的最佳实践
喵~ 今天分享一篇在 ElementPlus 中使用 el-form 动态切换校验规则 的实用方法. 一.问题概述 作为前端开发人员,在开发项目中,特别是后台管理系统,表单的使用是必不可少的.当业务需 ...
- Vue CLI中views和components文件夹的区别
首先,src/components和文件夹src/views都包含Vue组件. 关键区别在于某些Vue组件充当路由视图. 在Vue中(通常是Vue Router)处理路由时,将定义路由以切换组件中使用 ...
- python 生成小学计算练习 docx
python3 生成二年级下计算练习,有口算,有竖式. import random import osfrom docx.shared import Pt from docx import Docum ...