我正在尝试访问密钥中的注册表子密钥SecureProtocols: " HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings"自动化TLS / SSL测试。
我能够访问" CurrentVersion"中的其他子键。但是"互联网设置"返回null。
以下是我访问密钥的常用方法:
public static string SetIESecureProtocols(string dWordValue = "0")
{
using (RegistryKey internetSettingsKey = Registry.CurrentUser.OpenSubKey(
"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true))
{
if (internetSettingsKey != null)
{
const string key = "SecureProtocols";
var keyValue = internetSettingsKey.GetValue(key);
if (keyValue != null && keyValue.ToString() != dWordValue)
{
var secureProtocolsBackup = keyValue.ToString();
internetSettingsKey.SetValue(key, dWordValue, RegistryValueKind.DWord);
internetSettingsKey.Close();
return secureProtocolsBackup;
}
internetSettingsKey.Close();
}
}
return null;
}
我尝试使用单独的提升exe执行此函数。
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我的域用户对&#34;互联网设置&#34;具有完全控制权和读取权限。键。
无论我做什么,&#34; internetSettingsKey&#34;变量为null。 关键的DOES存在并且&#34; SecureProtocols&#34;手动更改Internet Explorer高级选项中的设置时更改。
我可以在注册表编辑器中手动更改密钥。
我使用的是64位系统,但是&#34;互联网设置&#34;密钥不存在于: HKEY_CURRENT_USER \ SOFTWARE \ Wow6432Node
提前致谢!
更新: 经过进一步调查后,我尝试了其他一些选择。