2012-05-18 77 views
-2

在我的小應用程序中,我試圖在註冊表中創建一個子鍵。我在Windows 7中執行此操作。我嘗試了所有可能的RegCreateKeyEx函數的密鑰組合。我記得,在Win XP中一切都很好。不過它總是返回我「訪問被拒絕」的結果。我發現一定要用用戶訪問控制設置。這些信息是以混亂的方式解釋的,我沒有得到應該做的事情。有人能告訴我出路嗎?提前致謝。Windows中的註冊表權限

+0

你能發佈我們可以編譯和檢查的最少量的代碼嗎? – dirkgently

+0

開始運行您的應用程序「以管理員身份」來查看是否UAC阻止您執行受限制的操作。然後用相關信息更新你的問題會很好。 –

+1

你試圖打開哪個鍵?你要求什麼權利?寫入權限? –

回答

2

根據評論,您正在嘗試寫信給HKCR。爲了做到這一點,你需要管理員權限。

  1. 在XP上,您的用戶是管理員,因此具有管理員權限。代碼成功。
  2. 在Vista及更高版本上,在UAC處於活動狀態時,即使管理員用戶使用標準用戶令牌運行,您的用戶也可以運行。代碼失敗,訪問被拒絕。

如果您確實需要寫入此密鑰,那麼您將需要以管理員權限運行。這將需要一個requireAdministrator清單。

1

簡短的回答是不要嘗試寫入特權密鑰。例如,使用HKEY_CURRENT_USER作爲根,而不是HKEY_LOCAL_MACHINE

+0

如果你需要的鑰匙在HKCR,寫給HKCU並沒有什麼幫助 –