gpt4 book ai didi

C++添加到注册表

转载 作者:行者123 更新时间:2023-11-28 06:20:32 27 4
gpt4 key购买 nike

所以,代码对我咆哮,需要一点帮助。错误:char * 与 cost BYTE * 不兼容。它在咆哮:RegSetValueExA(hKey, "My App", 0, REG_SZ, buffer, sizeof(buffer)); 特别是缓冲区。

错误消息(vstudio):错误 3 错误 C2664:“RegSetValueExA”:无法将参数 5 从“char [500]”转换为“const BYTE *”{snip}\visual studio 2010\projects\reg\reg\reg.cpp 74

我的代码(注意:stemres = 可执行文件的完整路径,在 LPCWSTR 中,我已成功将其转换为 char):

HKEY hKey;
RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\CurrentVersion\\Run", 0, KEY_WRITE, &hKey);
// stemres = the executable path
char buffer[500];
wcstombs(buffer,stemres,500);
RegSetValueExA(hKey, "My App", 0, REG_SZ, buffer, sizeof(buffer));
RegCloseKey(hKey);
cout << "Added to registry.";

最佳答案

RegSetValueExA() 的第五个参数是 const BYTE *,它应该是 const unsigned char * 的同义词,您尝试传递 char * 到它。恐怕你必须转换它:

 RegSetValueExA(hKey, "My App", 0, REG_SZ, reinterpret_cast<const BYTE *>(buffer), sizeof(buffer));

关于C++添加到注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29375961/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com