如何确定我的应用程序是在x86还是x64 Windows上运行?

时间:2009-01-14 14:51:02

标签: windows version

我想知道,在运行时,我是在32位还是64位窗口上运行。 OSVERSIONINFOEX结构告诉我主要版本和次要版本,但我猜我需要构建号码。谁知道它们是什么?

4 个答案:

答案 0 :(得分:3)

如果您的应用程序是针对64位编译的,那么答案很简单:您在64位Windows上运行。

如果您的应用程序是针对32位编译的,则需要调用IsWow64Process。此功能仅在Windows XP或更高版本中导出;如果要支持早期版本的Windows,则需要使用GetProcAddress来获取指向此函数的指针。

答案 1 :(得分:1)

假设您正在使用C ++,那么有一个非常好的操作系统检测类here

答案 2 :(得分:0)

您可以从OSVERSIONINFOEX结构中获取内部版本号。

如果您是32位进程并想知道您是否在WOW64(即64位操作系统)下运行,请致电IsWow64Process()。 (需要XP SP2或更高版本)

答案 3 :(得分:0)

我使用WMI。

从Win32_OperatingSystem

中选择*

获取第一个实例,然后选择Version属性。对于WinXP,它返回5.1.2600。