0

我正在制作一个服务程序,它将更改某些服务的启动类型。我当前的代码甚至不允许我打开注册表进行编写,即使我“以管理员身份运行”也是如此。

代码:

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

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

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

4

2 回答 2

3

更改服务配置的方法不是破坏注册表。您使用服务控制管理器。MSDN 甚至有一个改变服务启动类型的示例程序。我通过转到About Services找到此页面,然后单击Service Configuration Programs,然后单击 Service Configuration

于 2012-09-01T03:30:34.930 回答
1

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

于 2012-09-01T02:46:06.740 回答