Error with RegOpenKeyEx()

Error with RegOpenKeyEx()

本文关键字:RegOpenKeyEx with Error      更新时间:2023-10-16

我正在使用带有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>"但它仍然不起作用。

发现这篇文章 RegOpenKeyEx 的错误,它和我的问题是一样的,答案看起来不错。但我没有使用Windows xp,而是使用7(64位)。所以我试着输入 targetver.h :

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

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

我能做什么? :(

谢谢:)

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

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

#ifndef _WIN32_WINNT
#define _WIN32_WINNT (0x0601)
#endif  /* _WIN32_WINNT */
#include <windows.h>