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 ? "0" : "512 ");
//检查服务器证书吊销
//1开启,0关闭
var internetSettings = @"Software\Microsoft\Windows\CurrentVersion\Internet Settings";
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "CertificateRevocation", isOpen ? "1" : "0");
}
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 ? "2688" : "0");
}
修改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", "00011000");
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "MinLevel", "00011000");
RegistryHelper.ModifyCurrentUserRegistryKey(internetSettings, "RecommendedLevel", "00011000");
}
注册表修改:
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环境。
/// <summary>
/// 重置IE浏览器
/// </summary>
public void ResetInternetSetting()
{
var internetSettings = @"Software\Microsoft\Internet Explorer";
RegistryHelper.DeleteCurrentUserRegistryPath(internetSettings);
}
public bool DeleteCurrentUserRegistryPath(string registerPath)
{
RegistryKey currentUserKey = null;
try
{
currentUserKey = Registry.CurrentUser;
currentUserKey.DeleteSubKey(registerPath, false);
}
catch (Exception e)
{
return false;
}
currentUserKey?.Close();
currentUserKey?.Dispose();
return true;
}
Github地址:IE环境修复工具