我第一次以編程方式玩註冊表,但它不能很好地工作(但至少我沒有銷燬我的電腦)。特別是,我不斷收到來自RegCreateKeyEx和RegSetValueEx的錯誤5(訪問被拒絕)。對我來說最奇怪的是,當HKEY_CURRENT_USER\Software\dir1\Sub Directory
已經存在時,RegCreateKeyEx會以錯誤5失敗,但是當它不存在時,它會成功創建它;然後在RegSetValueEx上失敗。訪問被拒絕註冊表
我在這段代碼中做了什麼錯誤?
BOOL MyDialog::SaveLocationsToRegistry()
{
HKEY hkey;
DWORD dwDisposition;
DWORD dwType, dwSize;
LONG result = RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\dir1\\Sub Directory"),
0, NULL, 0, 0, NULL, &hkey, &dwDisposition);
if(result == ERROR_SUCCESS)
{
LPCTSTR szLastFolder = "C:\\Documents and Settings\\user\\My Documents\\Copy of item\0";
dwType = REG_SZ;
dwSize = strlen(szLastFolder)+1;
LONG setResult = RegSetValueEx(hkey, TEXT("LastFolder"), 0, dwType,
(PBYTE)&szLastFolder, dwSize);
RegCloseKey(hkey);
return setResult == ERROR_SUCCESS;
}
else
{
return false;
}
}
注:絕對路徑是唯一有暫時的。嬰兒的步驟;-)
您正在以管理員身份運行嗎?或與一些受限訪問? – Naveen 2009-11-03 06:33:13