Index: base/applications/dxdiag/system.c =================================================================== --- base/applications/dxdiag/system.c (revision 65260) +++ base/applications/dxdiag/system.c (working copy) @@ -38,7 +38,7 @@ } -static +static BOOL GetDirectXVersion(WCHAR * szBuffer) { @@ -161,9 +161,17 @@ return TRUE; } - if (info.dwMajorVersion == 5 && info.dwMinorVersion == 0) + if (info.dwMajorVersion == 5) { - wcscpy(szBuffer, L"Windows 2000"); + if (info.dwMinorVersion == 0) + wcscpy(szBuffer, L"Windows 2000"); + else if (info.dwMinorVersion == 1) + wcscpy(szBuffer, L"Windows XP"); + else if (info.dwMinorVersion == 2) + wcscpy(szBuffer, L"Windows Server 2003"); + else + return FALSE; + if (info.szCSDVersion[0]) { wcscat(szBuffer, L" "); @@ -172,23 +180,23 @@ return TRUE; } - if (info.dwMajorVersion == 5 && info.dwMinorVersion == 1) + if (info.dwMajorVersion == 6) { - wcscpy(szBuffer, L"Windows XP"); - if (info.szCSDVersion[0]) + if (info.dwMinorVersion == 0) { - wcscat(szBuffer, L" "); - wcscat(szBuffer, info.szCSDVersion); - } - return TRUE; - } - - if (info.dwMajorVersion == 6 && info.dwMinorVersion == 0) - { // if (GetVistaVersion(szBuffer)) // return TRUE; + wsprintfW(szBuffer, L"Windows Vista (6.0, Build %04u)", info.dwBuildNumber); + } + else if (info.dwMinorVersion == 1) + wsprintfW(szBuffer, L"Windows 7 (6.1, Build %04u)", info.dwBuildNumber); + else if (info.dwMinorVersion == 2) + wsprintfW(szBuffer, L"Windows 8 (6.2, Build %04u)", info.dwBuildNumber); + else if (info.dwMinorVersion == 3) + wsprintfW(szBuffer, L"Windows 8.1 (6.3, Build %04u)", info.dwBuildNumber); + else + return FALSE; - wsprintfW(szBuffer, L"Windows Vista (6.0, Build %04u)", info.dwBuildNumber); return TRUE; } }