c++ - RegOpenKeyEx() 错误

标签 c++ qt winapi registry windows-7-x64

我正在使用带有 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/

相关文章:

c++ - 将 QPixmap 变灰

c++ - 非静态成员函数的无效使用(在 qt 中)

c++ - 如何获取拖入 Win32 应用程序的文件路径并将其删除?

c++ - 为什么声明 `void(*pf)(int) = bar;` 会触发下面代码片段中的 `static_assert`?

c++ - Opencv + Visual Studio 2008 奇怪的调试问题

c++ - 为什么乘以常数有符号整数分数没有优化?

c - 字节数组有问题/捕获屏幕截图

c++ - 指向本地结构的指针如何转换为 WebAssembly?

windows - Qt Creator "too big"在 3840x2160 和 Windows 10 上缩放 150%

winapi - 在 Windows 上将结构与 Golang 系统调用一起使用?