我正在使用 Visual C# 2010 并且在设置注册表项时遇到问题。我认为这与我一开始没有以管理员身份运行它有关,但我尝试构建版本,然后右键单击 exe 并选择“以管理员身份运行”无济于事。
我还尝试使用 RegistryPermission 类,这似乎没有任何区别。
这是代码:
RegistryKey rkey = Registry.LocalMachine;
// RegistryPermission f = new RegistryPermission(
// RegistryPermissionAccess.Write | RegistryPermissionAccess.Read,
// @"HKEY_LOCAL_MACHINE\SOFTWARE\Company\Product");
/**********************/
/* set registry keys */
/**********************/
RegistryKey wtaKey = rkey.OpenSubKey(@"SOFTWARE\Company\Product", true);
try
{
wtaKey.SetValue("key1", 123);
wtaKey.SetValue("key2", 567);
wtaKey.SetValue("key3", textbox.Text);
wtaKey.SetValue("key4", "some string");
}
catch (UnauthorizedAccessException ex)
{
MessageBox.Show(ex.Message);
return;
}
每次运行它时,这都会给我来自异常的错误消息,即使使用“以管理员身份运行”也是如此。有什么想法可以解决这个问题吗?这似乎很奇怪,因为我的标准用户帐户允许我进入 regedit 并手动更改这些值没有问题。