无法使用c#

时间:2016-07-26 15:17:00

标签: c# windows-7-x64

我正在尝试访问密钥中的注册表子密钥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

提前致谢!

更新: 经过进一步调查后,我尝试了其他一些选择。

  • VBS:我能够阅读并更改密钥 这种方法。
  • 批处理(reg命令):我能够读取和更改密钥 这种方法。

0 个答案:

没有答案