注册表CreateSubKey无法正常工作且没有收到错误

时间:2016-05-09 08:11:28

标签: c# registry

我之前做过这个,这是一个简单的代码。这是我的代码

private void button1_Click(object sender, EventArgs e)
{
    var k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
}

我正在寻找注册表HKEY_LOCAL_MACHINE-SOFTWARE和WOW6432Node。我无法在那里找到测试密钥。

我的用户是管理员。

我没有收到错误。

也许它有简单的解决方案,但我工作了45分钟,我无法解决这个问题。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

你确定你正在寻找合适的东西吗?注册表可能是一件善变的事情。

我跑了

RegistryKey k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
k1.SetValue("my value","here");

在注册表中还没有任何显示 - 有些事情不会很快显示出来,因为它取决于阅读时间。

然而结束应用程序,并运行

RegistryKey k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
Console.WriteLine(k1.GetValue("my value"));

显示我的价值在那里。

答案 1 :(得分:0)

我尝试了SetValue,就像你的代码一样,我收到了securityexception。

我构建我的程序然后我以管理员身份启动了我的exe并没有错误。 我也可以GetValue。但我还没有看到注册表。当我在regedit上搜索“test”(ctrl + f)时,我找不到。

是一个我不知道的问题。现在它的工作很麻烦:)

更新:我退出regedit然后我一遍又一遍地开始但是当我刷新时我可以看到测试-_-这样一个白痴。