gpt4 book ai didi

c++ - c++中如何打开注册表并获取具体值

转载 作者:行者123 更新时间:2023-11-30 00:42:23 38 4
gpt4 key购买 nike

需要打开这个键“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\”

并使用 C++ 获取“VerSpecificRootDir”值....我该怎么做

我不知道任何人都可以在这方面帮助我..

在得到所有的支持后,我做到了

 unsigned long type=REG_SZ, size=1024;
char res[1024]="";
HKEY hk;

long n = RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Microsoft SQL Server\\100"),
0,KEY_QUERY_VALUE, &hk );
if ( n == ERROR_SUCCESS )
{
printf("OK \n");
RegQueryValueEx(hk,L"VerSpecificRootDir",NULL,&type,(LPBYTE)&res[0],&size);
RegCloseKey(hk);

}

但在此我没有得到“VerSpecificDirectory”的值(value),我错过了什么让我知道?这段代码有什么问题....

最佳答案

您可以使用 Windows 函数 SHRegGetValue像这样:

TCHAR buffer[260];
DWORD bufferSize = sizeof(buffer);
SHRegGetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Microsoft SQL Server\\100", "VerSpecificRootDir", SRRF_RT_REG_SZ, NULL, buffer, &bufferSize);

调用该函数后,buffer 将包含一个以 null 结尾的目录字符串。可能还想检查错误的返回值。

关于c++ - c++中如何打开注册表并获取具体值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198820/

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