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

我想知道在运行时是否在32位或64位窗口上运行。 OSVERSIONINFOEX结构告诉我主要和次要版本,但我猜我需要内部版本号。 任何人都知道他们是什么?

Solutions Collecting From Web of "如何找出我的应用程序是在x86还是在x64的Windows上运行?"

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

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

假设你使用C ++,这里有一个非常好的操作系统检测类。

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

如果你是一个32位的进程,并想知道你是否在WOW64(即,一个64位操作系统)下运行,调用IsWow64Process() 。 (需要XP SP2或更高版本)

我使用WMI。

从Win32_OperatingSystem中选择*

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