我想将"HKEY_LOCAL_MACHINE\Software\company name\game name\settings\value"键编辑为"1"(DWORD)
这是我的代码:
HKEY hkey;
DWORD dwDisposition;
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\company name\\game name\\settings"), 0, NULL, 0, 0, NULL, &hkey, &dwDisposition) == ERROR_SUCCESS){
DWORD dwType, dwSize;
dwType = REG_DWORD;
dwSize = sizeof(DWORD);
DWORD rofl = 1;
RegSetValueEx(hkey, TEXT("value"), 0, dwType, (PBYTE)&rofl, dwSize); // does not create anything
RegCloseKey(hkey);
}
Run Code Online (Sandbox Code Playgroud)
但它什么都没做.RegCreateKeyEx()是实际执行某项操作的唯一函数:仅在注册表中创建"文件夹".那又一次如何失败?我如何在注册表中创建"文件"?
Han*_*ant 10
始终检查API函数的返回值.你会看到RegSetValueEx()返回5,访问被拒绝.你没有要求写入权限.固定:
if(RegCreateKeyEx(HKEY_LOCAL_MACHINE,
TEXT("Software\\company name\\game name\\settings"),
0, NULL, 0,
KEY_WRITE, NULL,
&hkey, &dwDisposition) == ERROR_SUCCESS) {
// etc..
}
Run Code Online (Sandbox Code Playgroud)