C++ 怎么判断系统是Windows XP 64 位版本还是Windows Server 2003
时间: 2023-02-09 09:08:48 浏览: 173
如何确定计算机运行的是 32 位还是 64 位版本的 Windows 操作系统
4星 · 用户满意度95%
在 C 语言中,可以使用 _WIN32 和 _WIN64 宏来判断系统是 32 位还是 64 位。要判断具体是 Windows XP 还是 Windows Server 2003,可以使用 Windows API 函数 GetVersionEx。该函数可以获取系统的版本信息,其中包括系统类型、主版本号和次版本号等。
举个例子:
```c
#include <Windows.h>
int main() {
OSVERSIONINFOEX osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if (GetVersionEx((LPOSVERSIONINFO)&osvi)) {
if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1) {
printf("This is Windows XP.\n");
} else if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2) {
printf("This is Windows Server 2003.\n");
} else {
printf("This is not Windows XP or Windows Server 2003.\n");
}
}
return 0;
}
```
这段代码中使用了 GetVersionEx 函数来获取系统版本信息,并使用 dwMajorVersion 和 dwMinorVersion 来判断是 Windows XP 还是 Windows Server 2003。
阅读全文