我想通过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);
此外,正如其他人在评论中所说,您需要更改注册表的权限。以管理员身份登录可能还不够。您可能还需要以管理员身份运行您的应用程序。