[英]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.