2013-08-12 94 views
0

對於下面的代碼,當嘗試打開HKLM \ Security時,我得到沒有錯誤,但是返回非零代碼。 ResultC9返回代碼爲5 - 即訪問被拒絕。 密鑰存在於註冊表中(通過Regedit確認)。我閱讀了MSDN文章here,但這並沒有幫助我。請告知我爲什麼得到「5」/「訪問被拒絕」爲ResultC9RegOpenKeyEx註冊表安全結果

HKEY hKey5; 

long resultC9 = ::RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SECURITY", 0, KEY_READ, &hKey5); 
std::cout << "Value of GetLastError() is: " << GetLastError() << endl; // "0" is output to screen!  
std::wcout << "Value of resultC9 is: " << resultC9 << endl; // "5" is output to screen. 
+1

大概,你沒有正確的訪問權限...... –

+0

@MatsPetersson我需要那個密鑰的訪問權限嗎? –

+0

我不知道。這就是爲什麼我沒有把它寫成答案。但是我非常確定註冊表中「安全」鍵的特殊部分的重點在於,您不能以普通用戶的身份任意閱讀它們。 –

回答

0

我已經告訴我需要採取SeTcbPrivilege特權這個工作。