编辑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的帖子:this和this
当我在CodeBlock项目(测试项目)中使用它时,它就像魅力一样,但是相同的代码不能与DevC ++一起使用,我现在无法将其移植到代码块,因为代码块会出现其他问题。
如何使用DevC ++?
由于
答案 0 :(得分:10)
它定义了要使用的Windows头文件的版本。必须在#include <Windows.h>
之前声明它。
如果你要修改它,你应该设置一些其他类似的变量:
答案 1 :(得分:1)
_WIN32_WINNT
是一个预处理程序令牌,在(0x0601)
使用_WIN32_WINNT
时会被_WIN32_WINNT
替换。预处理器只扫描整个文件,并在找到它的任何地方用(0x0601)
替换ifdef
。可能有#ifdef _WIN32_WINNT
#define KEY32 32
#endif
个预处理器防护装置可以启用/禁用预处理器常量。喜欢:
KEY32
在那里,_WIN32_WINNT
只会定义 IF {{1}}。