首页 > Windows开发 > 详细

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

时间:2014-01-14 21:48:53      阅读:1030      评论:0      收藏:0      [点我收藏+]

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";
    }
}

  

 

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

原文:http://www.cnblogs.com/JczmDeveloper/p/3513849.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!