如何解决对注册表的访问被拒绝

cyxcw1 2010-10-18 06:59:17
RegistrySecurity rsy = new RegistrySecurity();
RegistryAccessRule rar = new RegistryAccessRule(Environment.UserDomainName +
"\\" + Environment.UserName, RegistryRights.ReadKey | RegistryRights.WriteKey |
RegistryRights.Delete, InheritanceFlags.ContainerInherit, PropagationFlags.None,
AccessControlType.Allow);
rsy.AddAccessRule(rar);
Microsoft.Win32.RegistryKey rootKey = Microsoft.Win32.Registry.LocalMachine;//本地计算机数据的配置
Microsoft.Win32.RegistryKey runKey = rootKey.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", RegistryKeyPermissionCheck.ReadWriteSubTree,rsy);


以上这段代码提示:
对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”的访问被拒绝。

我的目的是把这个程序开机自动启动的信息写入注册表,但是注册表被拒绝访问. 管理员权限打开VS时没问题,请问怎么解决普通用户情况下的这个问题啊...
谢谢大家了
...全文
20949 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
alextienpai 2012-06-01
  • 打赏
  • 举报
回复
能不能提高当前程序的权限啊?用代码
sito_hongta 2010-10-19
  • 打赏
  • 举报
回复
建議LZ寫user那個主鍵~不要寫入MACHINE就不會有這樣的問題了~
蔡袅 2010-10-19
  • 打赏
  • 举报
回复
普通用户更改注册表,确实权限不够!
cyxcw1 2010-10-18
  • 打赏
  • 举报
回复
关于楼上大家的回答:
我用管理员权限打开VS 2010运行是没问题,我现在想要的是普通用户也能运行,请问能不能在程序的代码中提升权限啊.
我不想我的软件发布之后每次都要利用管理员身份运行...
再次谢谢大家了
wuyq11 2010-10-18
  • 打赏
  • 举报
回复
没有访问权限
提升权限
int64 2010-10-18
  • 打赏
  • 举报
回复
win7的注册表操作是做了限制,要用“以管理员身份运行”才行
zcty520 2010-10-18
  • 打赏
  • 举报
回复
执行的用户没权限,其程序执行注册表当然也没权限,你想想
为什么很多程序需要管理员权限才能安装就是这个道理
hao1hao2hao3 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 cyxcw1 的回复:]
C# code
RegistrySecurity rsy = new RegistrySecurity();
RegistryAccessRule rar = new RegistryAccessRule(Environment.UserDomainName +
"\\" + Environment.UserName, Registry……
[/Quote]

这个应该是没有权限导致的,可以把该用户加到管理员所在的用户组中试试。
cyxcw1 2010-10-18
  • 打赏
  • 举报
回复
我用的是win7

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧