编辑2:好,所以我改用Orwell DevC++,它包含的“winnt.h”包含#define KEY_WOW64_64KEY 0x0100,但它仍然无法正常工作。 (请参阅编辑1 :)

编辑1:我查看了CodeBlock和DevC++附带的“winnt.h”,DevC++缺少以下几行:

#if (_WIN32_WINNT >= 0x0502)
#define KEY_WOW64_64KEY 0x0100
#define KEY_WOW64_32KEY 0x0200
#endif

并将上述代码放入DevC++的wint.h中不起作用。

原始帖子:
我有一个32位应用程序(在DevC++和Windows 7 64位中开发),它读取64位应用程序的注册表作为其任务之一,因此我尝试在RegOpenKeyEx中使用“KEY_WOW64_64KEY”标志,并发现了几篇有关如何与_WIN32_WINNT一起使用的文章。 :thisthis

当我在CodeBlock项目(一个测试项目)中使用它时,它就像魅力一样工作,但是同一代码无法在DevC++中使用,由于代码块还存在其他问题,我现在不能将其移植到代码块中。

如何使其与DevC++一起使用?

谢谢

最佳答案

它定义了要使用的Windows头文件的版本。必须在#include <Windows.h>之前声明它。

如果要修改它,可能还应该设置一些其他类似的变量:

MSDN Using Windows Headers

08-16 08:32