获取Win版本信息,可使用GetVersionEx()函数,获取的信息存放在OSVERSIONINFOEX结构体中
1 OSVERSIONINFOEX osvi = {0}; 2 osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); 3 BOOL bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*)&osvi);
可以通过OSVERSIONINFOEX的几个属性判断具体是哪个版本
dwOSPlatformId:
VER_PLATFORM_WIN32s 或 0x0000,用于指定 Microsoft Windows 3.1。
VER_PLATFORM_WIN32_WINDOWS 或 0x0001,用于指定 Windows 95、Windows 98 或从其继承的操作系统。
VER_PLATFORM_WIN32_NT 或 0x0010,用于指定 Windows NT 或从其继承的操作系统。
dwOSMajorVersion:主版本
dwOSMinorVersion:次版本
几种常见的版本号为
Win98:4.1
Win 2000: 5.0
WinXP:5.1(32位) 5.2(64位)
Win Vista: 6.0
Win 7: 6.1
Win 8: 6.2
还有个wProductType用于判断是否是服务器版本,当该属性为1时,表示普通版本Windows操作系统,因为有几个服务器版本的版本号与普通Windows版本号相同的。
通过以上4个属性应该就能判断出属于当前系统的版本,更多信息请参考MSDN
http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspx