即使访问权限提高,也无法访问注册表

时间:2012-08-13 09:14:54

标签: c# .net visual-studio-2010 permissions registry

我正在制作服务计划,它会更改某项服务的启动类型。 我的当前代码甚至没有让我打开注册表进行编写,即使我“以管理员身份运行”。

代码:

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

但是,我收到此错误:不允许请求的注册表访问。 有人知道解决方案吗?

(PS。我知道还有其他方法可以做到这一点,但它让我感到困扰的是它不会让我访问注册表。)我的程序也像任何CPU一样运行。

2 个答案:

答案 0 :(得分:3)

更改服务配置的方法不是打击注册表。您使用服务控制管理器。 MSDN甚至具有更改服务启动类型的a sample program。我找到了此页面,转到About Services,然后点击Service Configuration Programs,然后点击Service Configuration

答案 1 :(得分:1)

在某些注册表中发现问题,如果您检查“权限”,您会注意到即使是管理员也没有更改注册表的权限。您可以更改自己的权限,但就我而言,我会找到一种不同的方法来编辑服务启动。