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



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

我试过这个,但它没有添加密钥:

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

代码应该添加这个密钥:

[HKEYCURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize]"Startupdelayinmsec"=数据字:00000000

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

提前感谢您的帮助!

首先,调用是"失败"还是成功了,但之后看不到键?如果您显示的代码中有任何调用失败,那么它们应该抛出一个异常。

其次,SetValue调用的语法错误。第二个参数应该是要将值设置为的对象,而不是表示值及其类型的字符串,这正是您想要做的。换句话说,将其更改为:

key.SetValue("Startupdelayinmsec", 0);

或者,如果你想指定新值的确切类型,那么这个:

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

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

最新更新