我正在使用带有 mingw 的 Qt 来编写一个更改注册表的程序,但是当我调用时:
RegOpenKeyEx(HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\DefaultProductKey",
0,
KEY_ALL_ACCESS|KEY_WOW64_64KEY,
&key);
Qt 返回:
`KEY_WOW64_64KEY' undeclared (first use in this function)
我已经添加了 "#include <windows.h>"
但它仍然不起作用。
我找到了这篇文章 Error with RegOpenKeyEx ,和我一样的问题,答案看起来不错。 但我没有使用 windows xp,我使用的是 7(64 位)。 所以我试着放入 targetver.h :
#ifndef _WIN32_WINNT_WIN7
#define _WIN32_WINNT_WIN7 (0x0601)
#endif /* _WIN32_WINNT_WIN7 */
它仍然不起作用...... :(
我能做什么? :(
谢谢:)
(抱歉我的英语不好)
最佳答案
在包含 windows.h
header 之前,您必须定义 _WIN32_WINNT
(不是 _WIN32_WINNT_WIN7):
#ifndef _WIN32_WINNT
#define _WIN32_WINNT (0x0601)
#endif /* _WIN32_WINNT */
#include <windows.h>
关于c++ - RegOpenKeyEx() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12528099/