WPF 修改Webbrowser的IE版本小程序(32位)
偶尔用Winform的Webbrowser,但是ie版本太低。
手改改注册表了太慢了。
弄个了程序,修改的代码时网上的,自己就是写了个界面。
支持IE11。
XAML页面代码
- <Window.Resources>
- <ObjectDataProvider x:Key="ieList" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
- <ObjectDataProvider.MethodParameters>
- <x:Type TypeName="local:IEVersion"/>
- </ObjectDataProvider.MethodParameters>
- </ObjectDataProvider>
- </Window.Resources>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <ListBox BorderThickness="0,0,1,0" MinWidth="150" ItemsSource="{Binding Source={StaticResource ieList}}" x:Name="IETypeList" Grid.Column="0"/>
- <Grid Grid.Column="1">
- <Grid.Resources>
- <Style TargetType="Grid">
- <Setter Property="Margin" Value="0,0,0,10"/>
- </Style>
- </Grid.Resources>
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"/>
- <RowDefinition Height="auto"/>
- <RowDefinition Height="auto"/>
- <RowDefinition Height="auto"/>
- </Grid.RowDefinitions>
- <Grid Grid.Row="0" >
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <TextBlock Text="IE版本"/>
- <TextBlock Margin="10,0,0,0" Grid.Column="1" Foreground="Red" Text="{Binding ElementName=IETypeList,Path=SelectedItem}" />
- </Grid>
- <Grid Grid.Row="1">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <TextBlock Text="程序名称(不用.exe)"/>
- <TextBox Margin="10,0,0,0" Grid.Column="1" x:Name="ProgramNAME"/>
- </Grid>
- <Grid Grid.Row="2">
- <Button Content="写入" x:Name="WriteBtn" Click="WriteBtn_Click"/>
- </Grid>
- </Grid>
- </Grid>
后台代码:
- public partial class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- }
- private void WriteBtn_Click(object sender, RoutedEventArgs e)
- {
- if (IETypeList.SelectedIndex < )
- return;
- if (ProgramNAME.Text.Length < || string.IsNullOrWhiteSpace(ProgramNAME.Text))
- return;
- var select = (IEVersion)IETypeList.SelectedItem;
- var name = ProgramNAME.Text+=".exe";
- IE.SetIE(select, name);
- ProgramNAME.Text.Replace(".exe", string.Empty);
- }
- }
IE类:
- public enum IEVersion
- {
- 强制ie11,//11001
- 标准ie11,//
- 强制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指令来展示网页
- }
- public class IE
- {
- public static void SetIE(IEVersion ver, string Name)
- {
- string productName = Name;//获取程序名称
- 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 = 0x2EDF;
- 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);
- MessageBox.Show("写入完毕");
- }
- else
- MessageBox.Show("写入失败");
- }
- }
程序截图
源代码和程序下载
WPF 修改Webbrowser的IE版本小程序(32位)的更多相关文章
- VSTO学习笔记(七)基于WPF的Excel分析、转换小程序
原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- iOS如何兼容的应用程序32位系统和64Bit系统
苹果发布iPhone5S时刻,64应用程序位去了眼前.当时我看到苹果公布的官方数据iOS7.x的SDK支撑64位应用程序.而内置的应用程序已经64位置. 我记得自己刚刚接触电脑时还有16位的系统,指针 ...
- v2.0版本小程序开发心得(代码之外)
总结一些代码之外的事情: 做优先该做的事情 分清主次,一天只有24小时,人的精力也是有限的,而且经常性的是,在某个时间爆发性的产生了大量的问题.这些问题集中的产生,需要一个一个的解决,但是人的精力是有 ...
- 小程序2-基本架构讲解(一)JSON配置与详解
项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 .wxss 后缀的 WXSS 样式文件 .js 后缀的 JS 脚本逻辑文件 JSON 配 ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 微信小程序-1
微信小程序 (开发微信小程序基础:HTML+js+css) l 准备工作 工具安装 开发工具是由微信官方提供 项目的预览(校验环境) l 开发体验阶段 - Hello world ...
- C#开发微信小程序
个人见解,欢迎交流,不喜勿喷. 微信小程序相比于微信公众号的开发,区别在于微信小程序只请求第三方的数据,整个界面的交互(view)还是在微信小程序上实现,前后端完全分离,说白了,微信小程序开发与具 ...
随机推荐
- 07-Node.js学习笔记-路由
路由 http://localhost:3000/index http://localhost:3000/login //路由是指客户端请求地址与服务器端程序代码的对应关系.简单的说,就是请求什么响应 ...
- nginx(4)
目录 一.安装配置 1.安装 2.配置文件 3.测试和启动 二.功能 1.虚拟主机 1.1 基于IP 1.2 基于域名 1.3 基于端口 2.访问控制 3.用户认证 4.文件共享 5.文件别名 6.状 ...
- spring data JPA entityManager查询 并将查询到的值转为实体对象
spring data JPA entityManager查询 并将查询到的值转为实体对象 . https://blog.csdn.net/qq_34791233/article/details/81 ...
- Java之DateFormat类
DateFormat类概述 java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进 ...
- IntersectionObserver API,观察元素是否进入了可视区域
网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的可见性. 传统的实现方法是,监听到scroll事 ...
- 05-文档编辑与yum命令
一.Linux vi/vim vi是所有的Unix系统都会有,但是目前我们使用最多的是vim编辑器.vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性. vim是从vi发展出来的一个文本编辑 ...
- C# 使用NAudio合并mp3、wav音频文件
1.什么是wav格式 WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windo ...
- ASP.NET Core Web 应用程序开发期间部署到IIS自定义主机域名并附加到进程调试
想必大家之前在进行ASP.NET Web 应用程序开发期间都有用到过将我们的网站部署到IIS自定义主机域名并附加到进程进行调试. 那我们的ASP.NET Core Web 应用程序又是如何部署到我们的 ...
- (转)颜色直方图, HSV直方图, histogram bins
原文链接:https://www.xuebuyuan.com/3256564.html 一个histogram,通常可以用一个列向量表示(例子中的a,b),列向量里面的每一个值就是一个bin(a,b) ...
- 上传图片到七牛云(服务端 node.js sdk)
大体思路 前端要上传图片到七牛云,需要有一个token进行授权操作,而获取这个上传的upload token(以下简称upToken),在服务端需要一定的身份校验,比如说:只有登录的vip用户才能拿到 ...