C# IE环境 - 重置IE( 注册表)
IE设置,都可以通过注册表,修改。以下是一些常用的IE设置注册表修改~
检查证书吊销
/// <summary>
/// 检查证书是否吊销
/// </summary>
/// <param name="isOpen"></param>
public void SetCertificateVerificationState(bool isOpen)
{
//检查发行商的证书是否吊销
//0 开启,512 取消
var softwarePublishing = @"Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing";
RegistryHelper.ModifyCurrentUserRegistryKey(softwarePublishing, "State", isOpen ? "" : "512 "); //检查服务器证书吊销
//1开启,0关闭
var internetSettings = @"Software\Microsoft\Windows\CurrentVersion\Internet Settings";
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "CertificateRevocation", isOpen ? "" : "");
}
SSL & TSL是否勾选
/// <summary>
/// 设置SSLAndTSL
/// </summary>
/// <param name="isOpen"></param>
public void SetSSLAndTSLState(bool isOpen)
{
//使用SSL3.0和TLS1.0
var internetSettings = @"Software\Microsoft\Windows\CurrentVersion\Internet Settings";
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "SecureProtocols", isOpen ? "" : "");
}
修改IE安全等级
/// <summary>
/// 修改IE安全等级为中
/// </summary>
public void SetInternetProtectLevelNormal()
{ //"CurrentLevel"=dword:00011000
//"MinLevel" = dword:00011000
//"RecommendedLevel" = dword:00011000
var internetSettings = @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3";
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "CurrentLevel", "");
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "MinLevel", "");
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "RecommendedLevel", "");
}
注册表修改:
public static bool ModifyCurrentUserRegistryKey(string registerPath, string key, string value)
{
RegistryKey currentUserKey = null;
RegistryKey subKey = null;
try
{
currentUserKey = Registry.CurrentUser;
subKey = GetSubKey(currentUserKey, registerPath); if (subKey != null)
{
subKey.SetValue(key, value, RegistryValueKind.DWord);
subKey.Close();
subKey.Dispose();
}
}
catch (Exception e)
{
subKey?.Close();
subKey?.Dispose();
return false;
}
currentUserKey?.Close();
currentUserKey?.Dispose();
return true;
} private static RegistryKey GetSubKey(RegistryKey currentUserKey, string registerPath)
{
RegistryKey subKey;
subKey = currentUserKey.OpenSubKey(registerPath, true);
if (subKey == null)
{
subKey = currentUserKey.CreateSubKey(registerPath, RegistryKeyPermissionCheck.ReadWriteSubTree);
} return subKey;
}
重置IE - 删除IE全部注册表
也可以通过删除注册表下,IE整个注册表项,来重置IE环境。
1 /// <summary>
2 /// 重置IE浏览器
3 /// </summary>
4 public void ResetInternetSetting()
5 {
6 var internetSettings = @"Software\Microsoft\Internet Explorer";
7 RegistryHelper.DeleteCurrentUserRegistryPath(internetSettings);
8 }
1 public bool DeleteCurrentUserRegistryPath(string registerPath)
2 {
3 RegistryKey currentUserKey = null;
4 try
5 {
6 currentUserKey = Registry.CurrentUser;
7 currentUserKey.DeleteSubKey(registerPath, false);
8 }
9 catch (Exception e)
10 {
11 return false;
12 }
13 currentUserKey?.Close();
14 currentUserKey?.Dispose();
15 return true;
16 }
Github地址:IE环境修复工具
C# IE环境 - 重置IE( 注册表)的更多相关文章
- 【代码备忘录】VC设置您的计算机环境变量、注册表操作
欢迎增加C/C++ QQ组,无论你的工作.学生,只有具备c / vc / c++ 编程经验.就来吧!158427611 [设置电脑环境变量] 设置电脑环境变量非常easy,由于window而言.环境变 ...
- 安装Oracle服务端后配置注册表与PL/SQL
1.流程: 1.安装Oracle客户端(绿色版和安装版均可,建议安装在和Oracle服务端文件夹并行的路径下,例:E:\app\yginuo\product\11.2.0) 2.配置环境变量和注册表( ...
- 彻底卸载JDK的-并只依赖配置环境安装JDK(不依赖注册表)-解决Error opening registry key'software\Javasoft\Java Runti问题
一.备份安装好的绿色版JDK a.重新安装JDK到任意目录,假设这个目录是C:\java.b.将装好的JDK,JRE拷贝到任意一个其他目录,如D:\bak,这样做的目的主要是为了备份JDK.(建议打成 ...
- 通过修改注册表设置windows环境变量
开发环境搭建每次都要设置很多环境变量, 一般是通过 [菜单]->[计算机]->[属性]->[高级设置]->[环境变量]进行设置,重装系统后,每次都要设置很多环境变量,很麻烦. ...
- 修改注册表修改环境变量PATH
因公司办公电脑做了权限设置,不能通过右击“我的电脑”-属性的方式更改环境变量值 摸索找到了通过修改注册表的方式修改PATH值 Win+R 输入regedit打开册表编辑器 HKEY_LOCAL_M ...
- 金蝶K3,域环境中,无本地用户管理员权限的域用户如何设置注册表权限?
如果该用户是属于Power Users组:只需要给用户添加注册表中的HKEY_LOCAL_MACHINE的SOFTWARE完全控制的权限.(勾选允许父项的继承权限和传播到该对象和所有子对象) 如果该用 ...
- C# IE环境 - 重置IE(WshShell & Rundll32)
前言 IE问题: 如何重置IE选项? 通过修改注册表,理论上是可行的.前提是你知道重置IE时,有多少注册表项要更改. 如果能直接调用IE的重置设置窗口,并执行重置,能完美重置IE. WshShell ...
- Win.ini和注册表的读取写入
最近在做打包的工作,应用程序的配置信息可以放在注册表文件中,但是在以前的16位操作系统下,配置信息放在Win.ini文件中.下面介绍一下Win.ini文件的读写方法和注册表的编程. 先介绍下Win.i ...
- 注册表(C#)
Windowa注册表是包含Windows安装,用户喜好以及以安装软件和设备的所有配置信息的核心储存库.COM组件必须把它的信息出存在注册表中,才能被客户程序使用.注册表也包含了一些系统配置的信息,这些 ...
随机推荐
- C#线程学习笔记七:Task详细用法
一.Task类简介: Task类是在.NET Framework 4.0中提供的新功能,主要用于异步操作的控制.它比Thread和ThreadPool提供了更为强大的功能,并且更方便使用. Task和 ...
- C# MySql Transaction Async
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C# -- DateTime与TimeSpan
1. DateTime的使用 DateTime dt = DateTime.Now; StringBuilder sb = new StringBuilder(); sb.AppendLine(str ...
- HTTP (了解URL)
HTTP-URL URL是统一资源定位符,是互联网上标准的资源地址表示方法 URL组成: 协议头 用户名:密码(FTP) 主机名(域名). 三级域名.二级域名.顶级域名 / [IP] 端口号 目录/文 ...
- flutter_boot android和flutter源码阅读记录
版本号0.1.54 看源码之前,我先去看下官方文档,对于其源码的设计说明,文中所说的原生都是指android 看完官方文档的说明,我有以下几个疑问 第一个:容器是怎么设计的? 第二个:native和f ...
- 如何把Mybatis的Mapper.xml配置文件和dao接口放在同一个包下
有的时候我们在Maven项目中写关于Mybatis的项目时,会涉及到很多的实体类,也就会涉及到很多的dao接口,如果此时我们仍然把dao接口和xml写在同一个包下,会让项目接口变得很乱,杂七杂八的,所 ...
- 集合系列 Map(十三):LinkedHashMap
我们之前说过 LinkedHashMap 是在 HashMap 的基础上,增加了对插入元素的链表维护.那么其到底是怎么实现的呢?今天这篇文章就带我们来一探究竟. public class Linked ...
- ReactNative: 使用AsyncStorage异步存储类
一.简介 AsyncStorage是一个简单的具有异步特性可持久化的键值对key-value的存储系统.它对整个APP而言,是一个全局的存储空间,可以用来替代H5中提供的window属性LocalSt ...
- vue项目在git commit时,使用eslint检测
用vue-cli3创建新项目可以自定义配置,选择eslint,所以eslint不需要配置, 项目根目录下面生成一个 .eslintrc.js文件,里面可以自定义配置eslint规则 现在在开发的时候, ...
- Delphi CreateProcess 创建一个新的进程和它的主线程
Delphi CreateProcess WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件 CreateProcess百科名片 WIN32 ...