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

3

我想知道在运行时如何确定我是否在32位或64位的Windows上运行。OSVERSIONINFOEX结构告诉我主要和次要版本,但我猜我需要构建号码。有人知道它们是什么吗?

4个回答

3
如果你的应用程序是编译为64位的,那么答案很简单:你正在运行64位Windows。
如果你的应用程序是编译为32位的,你需要调用IsWow64Process。这个函数只在Windows XP或更高版本中导出;如果你想支持早期版本的Windows,你需要使用GetProcAddress来获取指向该函数的指针。

1

假设您正在使用C++,这里有一个非常好的操作系统检测类链接


0

您可以从OSVERSIONINFOEX结构中获取构建号。

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


0

我使用 WMI。

选择 * from Win32_OperatingSystem

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接