有人能告诉我这段代码有什么问题吗?没有错误。一切都返回 ERROR_SUCCESS 但在注册中看不到任何变化。
void Utils::writePath(LPCTSTR data)
{
HKEY hkey;
DWORD dwDisposition;
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,
TEXT("SOFTWARE\\aaTestCompany\\testApp"),
0, NULL, 0,
KEY_WRITE, NULL,
&hkey, &dwDisposition) == ERROR_SUCCESS)
{
long setRes = RegSetValueEx (hkey, "testPath", 0, REG_SZ, (LPBYTE)data, strlen(data)+1);
if (setRes == ERROR_SUCCESS) {
printf("Success writing to Registry.");
} else {
printf("Error writing to Registry.");
}
RegCloseKey(hkey);
}
else
MessageBox(NULL,"error","",0);
}
最佳答案
由于该应用程序是 64 位操作系统上的 32 位应用程序,因此注册表项实际上将创建在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
下。
关于C++ - RegCreateKeyEx 成功但没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585286/