繁体   English   中英

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

[英]How do I find out if my application is running on x86 or x64 Windows?

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

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

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

假设你正在使用C ++,有一个非常好的OS检测类别这里

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

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

我使用WMI。

从Win32_OperatingSystem中选择*

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM