Windows/MFC

윈도우 종류알기 OSVERSIONINFO

aucd29 2013. 10. 2. 13:55
[code]CString CWindowCloserDlg::GetWindows()
{
    //////////////////////////////
    // OS detection routine.

    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

    CString bNT;

    if(GetVersionEx(&version))
    {
        DWORD dwplatformid = version.dwPlatformId;
        switch (version.dwPlatformId)
        {
        case VER_PLATFORM_WIN32s:
        // strplatformid.Format("Windows 3.1");
            bNT = "Windows 3.1";
            break;
        case VER_PLATFORM_WIN32_WINDOWS:
            if(version.dwMinorVersion == 0)
            {
            //    strplatformid.Format("Windows 95");
                bNT = "Windows 95";
            }            
            else if(version.dwMinorVersion == 10)
            {
            //    strplatformid.Format("Windows 98");
                bNT = "Windows 98";
            }
            else
            {
                bNT = "Windows Me";
            }
            break;
        case VER_PLATFORM_WIN32_NT:
        // strplatformid.Format("Windows NT");
            if (version.dwMinorVersion == 0 && version.dwMajorVersion == 4 )
            {
                bNT = "Windows NT 4.0";
            }
            else if (version.dwMinorVersion == 0 && version.dwMajorVersion == 5)
            {
                bNT = "Windows 2000";
            }
            else if (version.dwMinorVersion == 1)
            {
                bNT = "Windows XP";
            }
            else if (version.dwMinorVersion == 2)
            {
                bNT = "Windows Server 2003";
            }
            else
            {
                bNT = "Windows NT 3.51";
            }            
            break;
        default:
            bNT = "UnKnown";
            break;
        }
    }
    return bNT;

}
[/code]