我第一次通过编程操作注册表,但是效果不太好(至少我没有毁坏我的电脑)。具体来说,我一直从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;
}
}
注意:绝对路径只是暂时存在的。踏踏实实地走步骤;-)