我想知道,在运行时,我是在 32 位还是 64 位窗口上运行。OSVERSIONINFOEX 结构告诉我主要和次要版本,但我猜我需要内部版本号。有谁知道它们是什么?
hatcat
问问题
1369 次
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 回答