4

我正在使用 Qt 和 mingw 来编写一个更改注册表的程序,但是当我调用时:

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 */

它仍然不起作用...... :(

我能做些什么 ?:(

谢谢 :)

(对不起,我的英语不好)

4

1 回答 1

4

您必须_WIN32_WINNT在包含标题之前定义(不是_WIN32_WINNT_WIN7)windows.h

#ifndef _WIN32_WINNT
#define _WIN32_WINNT (0x0601)
#endif  /* _WIN32_WINNT */

#include <windows.h>
于 2012-09-21T09:48:30.967 回答