gpt4 book ai didi

c++ - 如何使用 RegOpenKeyEx 将值存储到字符串?

转载 作者:行者123 更新时间:2023-11-28 03:55:16 25 4
gpt4 key购买 nike

我需要从注册表中获取路径。除了我存储字符串路径的最后一部分外,以下代码有效。在 Visual Studio 2008 中运行调试器,char 数组有路径,但其他每个字符都是零。这导致字符串仅被分配第一个字母。我试过将 char res[1024] 更改为 char *res = new char[1024] ,这只是让它将第一个字母存储在 char 数组中而不是字符串。程序的其余部分需要将路径作为字符串数据类型,因此它不能保留为 char 数组。我在这里缺少什么?

unsigned long type=REG_SZ, size=1024;
string path;
char res[1024];
HKEY key;

if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Classes\\dsn\\shell\\open\\command"), NULL, KEY_READ, &key)==ERROR_SUCCESS){

RegQueryValueEx(key,
NULL,// YOUR value
NULL,
&type,
(LPBYTE)res,
&size);
RegCloseKey(key);

path = string(res);
}

最佳答案

您将返回一个 Unicode 字符串,但将其分配给一个基于字符的字符串。

您可以将路径的类切换为“tstring”或“wstring”,或者使用 RegQueryValueExA(A 代表 ASCII)。

关于c++ - 如何使用 RegOpenKeyEx 将值存储到字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859362/

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