VC++ 获取windows系统的版本类型

转载自:https:wwwblogsJczmDeveloperp3513849.html vc中获取windows版本信息,一般是调用GetVersionEx 这个API函数来获取的&a

转载自:https://wwwblogs/JczmDeveloper/p/3513849.html

vc中获取windows版本信息,一般是调用GetVersionEx 这个API函数来获取的,这个API需要OSVERSIONINFOEX 这个结构体作为参数,OSVERSIONINFOEX 的对应的具体的OS版本类型详细如下:

Operating system Version number dwMajorVersion dwMinorVersion Other
Windows 8.1 6.3* 6 3 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2012 R2 6.3* 6 3 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows 8 6.2 6 2 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2012 6.2 6 2 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows 7 6.1 6 1 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2008 R2 6.1 6 1 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows Server 2008 6.0 6 0 OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows Vista 6.0 6 0 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2003 R2 5.2 5 2 GetSystemMetrics(SM_SERVERR2) != 0
Windows Home Server 5.2 5 2 OSVERSIONINFOEX.wSuiteMask & VER_SUITE_WH_SERVER
Windows Server 2003 5.2 5 2 GetSystemMetrics(SM_SERVERR2) == 0
Windows XP Professional x64 Edition 5.2 5 2 (OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION) && (SYSTEM_INFO.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
Windows XP 5.1 5 1 Not applicable
Windows 2000 5.0 5 0 Not applicable

* For applications that have been manifested for Windows 8.1. Applications not manifested for 8.1 will return the Windows 8 OS version value (6.2). To 

 本人就获取 windows xp,vista,win8 ,win8.1 等系统版本信息 写了个函数,实现如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 VOID  GetOSVersion(CString& strOSVersion) {      OSVERSIONINFOEX osver = {0};      osver.dwOSVersionInfoSize =  sizeof (osver);      ::GetVersionEx((OSVERSIONINFO*)&osver);      if ( osver.dwMajorVersion == 5          && (osver.dwMinorVersion == 1 || osver.dwMinorVersion == 2)          )      {          strOSVersion = L "OS:Windows XP" ;      }      else  if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 0)      {          strOSVersion = L "OS:Windows Vista" ;      }      else  if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 1)      {          strOSVersion = L "OS:Windows 7" ;      }      else  if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 2)      {          strOSVersion = L "OS:Windows 8" ;      }      else  if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 3)      {          strOSVersion = L "OS:Windows 8.1" ;      } }

发布者:admin,转转请注明出处:http://www.yc00.com/web/1740919134a4274949.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信