我已经搜索了谷歌和这里的答案一段时间,得出的结论是,在写入注册表时,HKEY_CURRENT_USER 应该在没有 UAC 的情况下可用,对吗?无论如何,这就是每个线程似乎都在陈述的内容。我的问题是在尝试访问此密钥并写入新值时出现访问被拒绝错误。这是因为我的注册表有问题还是我做错了什么?这是我正在使用的代码:
string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
RegistryKey startupKey = Registry.CurrentUser.OpenSubKey(runKey, true);
startupKey.SetValue("Arebokerts application", '"' + Environment.CurrentDirectory + "\\arebokert.exe" + '"', Microsoft.Win32.RegistryValueKind.String);
有人能这么好心,对这个问题有所了解吗?我想远离任何类型的 UAC 提示,并且能够在没有 UAC 权限的情况下运行它。此代码引发“UnauthorizedAccessException”。怎么了?
最好的问候,arebokert
编辑
正如评论中的大卫和汉斯指出的那样,这个问题是由于某些东西阻止我更改密钥。我发现它是 comodo 杀毒软件,所以我把它关掉了。这使应用程序正常运行。感谢您的所有回复!