无氏木

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

获取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

posted on 2014-02-21 17:32  无氏木  阅读(973)  评论(0编辑  收藏  举报