dwVersion = GetVersion();
 
// Get major and minor version numbers of WindowsdwWindowsMajorVersion =  (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwWindowsMinorVersion =  (DWORD)(HIBYTE(LOWORD(dwVersion)));// Get build numbers for Windows NT or Win32sif (dwVersion < 0x80000000)                // Windows NT
    dwBuild = (DWORD)(HIWORD(dwVersion));
else if (dwWindowsMajorVersion < 4)        // Win32s
    dwBuild = (DWORD)(HIWORD(dwVersion) & ~0x8000);
else         // Windows 95 -- No build numbers provided    dwBuild =  0;

解决方案 »

  1.   

    CString GetOSName()
    {
    OSVERSIONINFO osversioninfo;
    osversioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&osversioninfo);
    char osName[256];

    if (VER_PLATFORM_WIN32_NT == osversioninfo.dwPlatformId){
    wsprintf(osName,"Microsoft Windows NT%d.%d",osversioninfo.dwMajorVersion ,osversioninfo.dwMinorVersion);
    }
    else{ 
    if (VER_PLATFORM_WIN32_WINDOWS == osversioninfo.dwPlatformId){
    if (LOWORD(osversioninfo.dwBuildNumber)<1080)
    wsprintf(osName,"Microsoft Windows 95");
    else {
    if (osversioninfo.dwMinorVersion >= 10)
    wsprintf(osName,"Microsoft Windows 98");
    else
    wsprintf(osName,"Mircrosoft Windows 97");
    }
    }
    else
    return "未知操作系统";
    } return osName;
    }