2012-08-13 45 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

發現問題,在某些註冊表中,如果您選中「權限」,您會注意到甚至連管理員都沒有更改註冊表的權限。您可以更改自己的權限,但對於我的案例,我會找到一種編輯服務啓動的不同方法。