2012-08-13 83 views
0

我正在制定服务计划,它将更改某些服务的启动类型。 我当前的代码甚至不允许我打开注册表进行编写,即使当我“以管理员身份运行”时也是如此。无权访问注册表,即使提高权限

代码:

ServiceKey = Registry.LocalMachine; 
ServiceKey = ServiceKey.OpenSubKey(@"SYSTEM\CurrentControlSet\services\" + ServiceName, true); 
ServiceKey.SetValue("Start", 2, RegistryValueKind.DWord); 

不过,我得到这个错误:请求的注册表访问是不允许的。 任何人都知道解决方案? (PS。我知道还有其他的方法可以做到这一点,但是它让我不知道它是如何让我不能访问注册表的。)我的程序也以任何CPU的形式运行。

+0

发现问题,在某些注册表中,如果您选中“权限”,您会注意到甚至连管理员都没有权限更改注册表。您可以更改自己的权限,但对于我的案例,我会找到一种编辑服务启动的不同方法。 – 2012-08-13 10:23:27

+0

嗨,你可以添加你的解决方案作为答案,然后打勾接受它吗?这将标志着问题已经解决,所以其他人不会试图去帮助,但同样问题的人也会发现你的解决方案更容易。 (可以回答你自己的问题!) – Surfbutler 2012-08-20 05:50:18

回答

1

发现问题,在某些注册表中,如果您选中“权限”,您会注意到甚至连管理员都没有更改注册表的权限。您可以更改自己的权限,但对于我的案例,我会找到一种编辑服务启动的不同方法。