擷取系統版本詳細資料

來源:互聯網
上載者:User
// GetWinVer.h #ifndef GETWINVER_H #define GETWINVER_H #define WUNKNOWN        0 #define W9XFIRST        1 #define W95                        1 #define W95SP1                2 #define W95OSR2                3 #define W98                        4 #define W98SP1                5 #define W98SE                6 #define WME                        7 #define W9XLAST                99 #define WNTFIRST        101 #define WNT351                101 #define WNT4                102 #define W2K                        103 #define WXP                        104 #define W2003                105 #define WNTLAST                199 #define WCEFIRST        201 #define WCE                        201 #define WCELAST                299 #define VER_PLATFORM_WIN32s             0 #define VER_PLATFORM_WIN32_WINDOWS      1 #define VER_PLATFORM_WIN32_NT           2 #define VER_PLATFORM_WIN32_CE           3 /*         dwPlatFormID  dwMajorVersion  dwMinorVersion  dwBuildNumber 95              1              4               0             950 95 SP1       1              4               0        >950 && <=1080 95 OSR2     1              4             <10           >1080 98             1              4              10            1998 98 SP1       1              4              10       >1998 && <2183 98 SE        1              4              10          >=2183 ME             1              4              90            3000 NT 3.51      2              3              51 NT 4           2              4               0            1381 2000          2              5               0            2195 XP              2              5               1 2003          2              5               2            2600  CE             3 */ /////////////////////////////////////////////////////////////////////////////// // GetWinVer int GetWinVer() {        int nVersion = WUNKNOWN;        OSVERSIONINFO osinfo;        osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);        if (!GetVersionEx(&osinfo))                return FALSE;        DWORD dwPlatformId   = osinfo.dwPlatformId;        DWORD dwMinorVersion = osinfo.dwMinorVersion;        DWORD dwMajorVersion = osinfo.dwMajorVersion;        DWORD dwBuildNumber  = osinfo.dwBuildNumber & 0xFFFF;        // Win 95 needs this                if ((dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) && (dwMajorVersion == 4))        {                if ((dwMinorVersion < 10) && (dwBuildNumber == 950))                {                        nVersion = W95;                }                else if ((dwMinorVersion < 10) &&                                 ((dwBuildNumber > 950) && (dwBuildNumber <= 1080)))                {                        nVersion = W95SP1;                }                else if ((dwMinorVersion < 10) && (dwBuildNumber > 1080))                {                        nVersion = W95OSR2;                }                else if ((dwMinorVersion == 10) && (dwBuildNumber == 1998))                {                        nVersion = W98;                }                else if ((dwMinorVersion == 10) &&                                 ((dwBuildNumber > 1998) && (dwBuildNumber < 2183)))                {                        nVersion = W98SP1;                }                else if ((dwMinorVersion == 10) && (dwBuildNumber >= 2183))                {                        nVersion = W98SE;                }                else if (dwMinorVersion == 90)                {                        nVersion = WME;                }        }        else if (dwPlatformId == VER_PLATFORM_WIN32_NT)        {                if ((dwMajorVersion == 3) && (dwMinorVersion == 51))                {                        nVersion = WNT351;                }                else if ((dwMajorVersion == 4) && (dwMinorVersion == 0))                {                        nVersion = WNT4;                }                else if ((dwMajorVersion == 5) && (dwMinorVersion == 0))                {                        nVersion = W2K;                }                else if ((dwMajorVersion == 5) && (dwMinorVersion == 1))                {                        nVersion = WXP;                }                else if ((dwMajorVersion == 5) && (dwMinorVersion == 2))                {                        nVersion = W2003;                }        }        else if (dwPlatformId == VER_PLATFORM_WIN32_CE)        {                nVersion = WCE;        }        return nVersion; } #endif //GETWINVER_H 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.