Winapi Can RegGetValue';LPS子项是否为非直接后代?
Windows API的Winapi Can RegGetValue';LPS子项是否为非直接后代?,winapi,registry,Winapi,Registry,Windows API的RegGetValue参数是否需要直接后代 这样行吗 RegGetValue(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows NT\\CurrentVersion", L"ProductName", RRF_RT_REG_SZ, NULL, outdata, &outdata_size); 编辑:我有一个前导斜杠\\,Windows不喜欢它!还将UTF-8字符串
RegGetValue
参数是否需要直接后代
这样行吗
RegGetValue(HKEY_LOCAL_MACHINE,
L"Software\\Microsoft\\Windows NT\\CurrentVersion", L"ProductName",
RRF_RT_REG_SZ, NULL, outdata, &outdata_size);
编辑:我有一个前导斜杠\\
,Windows不喜欢它!还将UTF-8字符串转换为UTF-16宽字符串(Windows样式)
Windows API的RegGetValue
参数是否需要直接后代
不,它没有。您可以指定一个路径,如图所示。您也不需要前导路径分隔符(
\\
)
但是,您所展示的代码可能有效,也可能无效。不是因为它指定了字符串的路径,而是因为您可能混合了Unicode和ANSI字符串。从您的用户名(unixman)来看,我假设您对Windows编程比较陌生,因此值得注意的是,Windows应用程序完全是Unicode的,并且已经使用了十多年。因此,您应该始终将代码编译为Unicode,并使用L
(表示宽字符串或Unicode字符串)作为字符串文字的前缀
同样,请确保将
outdata
声明为wchar\u t
Unix应用程序的数组,它们只使用UTF-8,这与美式英语的ASCII非常相似;)我将问题改为使用UTF-16宽字符串:)。