C#向LocalMachine注册表添加键失败

3

我正在尝试向注册表中的LocalMachine添加一个键。我正在使用以下代码:

    System.Diagnostics.Debugger.Launch();
    RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);
    RegistryKey newkey = key.CreateSubKey("1asdasds", RegistryKeyPermissionCheck.ReadWriteSubTree);
    newkey.SetValue("ads", "ddsds");
    newkey.Close();

我确保使用管理员账户运行了它,甚至使用“以管理员身份运行”选项,但是没有任何内容被添加到注册表中 :(。 当我将 LocalMachine 改为 CurrentUser 时,实际上它被添加到了 CurrentUser 键中。但是如何强制将其添加到 LocalMachine 中呢?


1
也许这个答案能帮到你。 https://dev59.com/63E85IYBdhLWcg3wikK-#7208513 - Adam K Dean
奇怪,我刚刚按照你的代码进行了测试,密钥已经成功添加到了注册表中,位于HKEY_LOCAL_MACHINE/SOFTWARE下,和预期一样。我在Windows 7机器上进行的测试。 - Miklos Aubert
1个回答

13

明白了。实际上已经添加了,但是在我的x64系统中,我无法在简单的C:\Windows\regedit.exe中看到它。前往C:\Windows\SysWOW64\regedit.exe,在x64中查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接