2016-08-16 113 views
2

我已經沒有創建/刪除CurrentUser鍵的麻煩,但每當我嘗試LocalMachine什麼都不會發生。我已將("requestedExecutionLevel level="requireAdministrator" uiAccess="false")添加到app.manifest。我錯過了什麼嗎?請讓我知道,如果這是一個代碼第一次海報太長。註冊表項沒有被創建

private void button1_Click(object sender, EventArgs e) 
    { 
     RegistryKey rKey; 
     rKey = Registry.LocalMachine.OpenSubKey("Software", true); 
     rKey.DeleteSubKey("test", true); 
     rKey.Close();    
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     RegistryKey rKey; 
     rKey = Registry.LocalMachine.OpenSubKey("SOFTWARE", true); 
     rKey.CreateSubKey("test"); 
     rKey.Close(); 
    } 
+0

如果您正在尋求調試幫助,那麼查看工作方法,而不是工作方法和不工作的描述(例如,您沒有在任何地方檢查'null')會有幫助。狂猜 - [64位問題](http://stackoverflow.com/q/1268715/1997232)。 – Sinatr

+0

我會嘗試看似合理的64位解決方案。但工作方法只是用CurrentUser – user6722600

+0

取代LocalMachine,你確定密鑰存在嗎? – Steve

回答

0

如上註釋所討論的,在64位的Windows 32位應用程序虛擬化出於兼容性原因內部HKLM\SOFTWARE\Wow6432NodeHKLM\SOFTWARE鍵。

如果您想要在HKLM\SOFTWARE之內實際創建密鑰,則需要將應用程序重建爲64位。

然而,在我看來,只要你真的可以加載和保存密鑰,那麼它的存儲位置實際上就是

+0

忽略最後一篇文章,我只是愚蠢忘了檢查一些東西。請投票他的所有帖子,並將其添加到答案列表非常感謝您的幫助! – user6722600