0
我正在嘗試做一些註冊表編輯。下面的代碼是我的問題的一個MCVE:C#編輯註冊表不起作用
RegistryKey key;
key = Registry.LocalMachine.OpenSubKey("DRIVERS", true);
key = key.CreateSubKey("Names");
key.SetValue("Name", "nick", RegistryValueKind.String);
key.Close();
該代碼工作正常。下面(改變DRIVERS
到SOFTWARE
)不:
RegistryKey key;
key = Registry.LocalMachine.OpenSubKey("SOFTWARE", true);
key = key.CreateSubKey("Names");
key.SetValue("Name", "nick", RegistryValueKind.String);
key.Close();
對我來說,代碼的兩個塊之間的差別是微不足道的。這個問題的原因是什麼,我該如何解決這個問題?我已經以管理員身份運行代碼。
我的最終目標是修改「SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon」文件夾中的值。
我知道這是可能的從Powershell - 它應該可能從C#以及。
嘗試寫入您實際要寫入的密鑰。我懷疑是否有可能污染HKLM的根源。 – Blorgbeard
@Blorgbeard我試過了。這是行不通的。我用我想要寫入的密鑰進行編輯。它是SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon。 – nhouser9
你肯定會混淆兩個不同的問題。寫入該密鑰*實際*要寫入[需要UAC提升](http://stackoverflow.com/questions/2818179/how-do-i-force-my-net-application-to-run-as-管理員)*和*運行程序[作爲64位進程](http://stackoverflow.com/a/2843835/17034)。 –