如何使用C#添加/修改注册表项?

时间:2019-11-08 19:35:32

标签: c# key registry

我想通过C#应用程序添加/编辑注册表项。

我尝试了此操作,但未添加密钥:

    Microsoft.Win32.RegistryKey key;
            key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Serialize");
            key.SetValue("Startupdelayinmsec", "dword:00000000");
            key.Close();

        }

代码应添加以下密钥:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Serialize] “ Startupdelayinmsec” = dword:00000000

我不确定,但是可能是因为使用Microsoft.Win32.RegistryKey时是64系统。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先,调用“失败”还是成功,但是之后您看不到密钥?如果您显示的代码中的任何调用失败,则它们应该引发异常。

第二,SetValue调用的语法错误。第二个参数应该是将值设置为的对象,而不是代表值和其类型的字符串,这就是您要执行的操作。换句话说,将其更改为:

key.SetValue("Startupdelayinmsec", 0);

或者如果您想指定新值的确切类型,则此:

key.SetValue("Startupdelayinmsec", 0, RegistryValueKind.DWord);

此外,正如其他人在评论中指出的那样,您将需要更改注册表的权限。以管理员身份登录可能还不够。您可能还需要以管理员身份运行您的应用。