一名司機留在註冊表中(甚至當我卸載它從系統中)一個爛攤子。如果我檢查安全設置,它將不會在「組或用戶名」中顯示任何內容。當我查看所有者時,它只顯示「無法顯示當前所有者」。當我想要刪除註冊表項時,我必須:
取得所有權。
添加組。
刪除密鑰。
問題是每個註冊表都有幾個子密鑰,我必須在每個密鑰上重複該過程。繼承權限選項在註冊表編輯器中不起作用。是的,我以管理員模式運行註冊表編輯器。
問題
我想寫一個簡單的C#代碼,將循環,並刪除所有密鑰。我發現了一些代碼示例,但在我的情況下,任何OpenSubKey調用都會失敗,並顯示錯誤: System.Security.SecurityException:不允許請求的註冊表訪問。 如果任何OpenSubKey函數調用失敗,我如何更改所有權?有沒有其他命令可以聲明所有權,然後刪除註冊表項?
謝謝大家的支持
您必須以管理員身份運行您的應用程序。看到這個問題:http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run-as-administrator-on-windows-7 – 2013-03-10 11:09:54
你已經找到了一個很好的理由**不**寫一個程序來做到這一點。這並不是說你不能使它工作,而是調試它是如此危險。發生在我們最好的人身上,像[Paul DiLascia](http://www.microsoft.com/msj/1299/comtoys/comtoys.aspx),滾動到「來自地獄的可怕軼事」。 – 2013-03-10 12:08:32