2013-08-12 61 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特权这个工作。