3

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

4

4 回答 4

3

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

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

于 2009-01-14T15:42:03.537 回答
1

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

于 2009-01-14T15:38:07.930 回答
0

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

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

于 2009-01-14T15:34:35.143 回答
0

我使用 WMI。

从 Win32_OperatingSystem 中选择 *

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

于 2009-01-14T16:09:19.067 回答