hKeyTmp = cutil_reg_OpenKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows Photo Viewer\\Slideshow\\Screensaver"); if (NULL == hKeyTmp) { DebugOutErr("reg open HKEY_CURRENT_USER\\Software\\Microsoft\\Windows Photo Viewer\\Slideshow\\Screensaver"); goto _error_end; } sprintf_s(tmp1, 1024, "%s", m_str_defaultPhotoScreensaverValue.c_str()); sprintf_s(tmp2, 1024, "%s", m_str_defaultPhotoScreensaverValueData.c_str()); lngRetVal = RegSetValueEx(hKey, tmp1, 0, dwType, (LPCBYTE) tmp2, strlen(tmp2) + 1); if (ERROR_SUCCESS != lngRetVal) { DebugOutErr("set [%s] failed ret = [%ld]", tmp1, lngRetVal); goto _error_end; }
时间: 2024-04-29 19:20:19 浏览: 92
根据您提供的代码,我无法确定具体的问题所在,但是我注意到您在打开注册表项时使用的是 `cutil_reg_OpenKey` 函数,而在写入注册表值时使用的是 `RegSetValueEx` 函数。请确保您在写入注册表值时使用的是正确的注册表项句柄。
另外,请检查您写入的注册表值的数据类型是否正确。在您的代码中,`dwType` 参数是一个未定义的变量,您需要根据需要设置正确的数据类型。例如,如果您要写入字符串值,则应设置 `dwType` 为 `REG_SZ`。
最后,请检查您写入的注册表值的名称和数据是否正确。您可以使用注册表编辑器程序(如 regedit)来检查注册表中的键和值是否正确。如果您仍然无法解决问题,可以尝试添加一些调试输出来了解代码执行时发生了什么,并帮助您更好地诊断问题。
阅读全文