如何将REG_SZ类型的注册表值解析为变量?

时间:2017-09-28 18:06:44

标签: c++ registry

试过这个功能,但输出是垃圾值

WCHAR vcVER[256];
RegGetValue(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\WOW6432Node\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\x64"), _T("Version"), RRF_RT_REG_SZ, NULL, &vcVER, NULL);

注册路径:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x64

键名: Version

价值: v14.0.24215.01

我需要能够解析该值

1 个答案:

答案 0 :(得分:2)

您需要通过变量提供缓冲区的大小。试试这个:

WCHAR vcVER[256];
DWORD dwSize = _countof(vcVER);
RegGetValue(HKEY_LOCAL_MACHINE, 
_T("SOFTWARE\\WOW6432Node\\Microsoft\\VisualStudio\\14.0\\VC\\Runtimes\\x64"), 
_T("Version"), RRF_RT_REG_SZ, NULL, &vcVER, &dwSize);