ENH: fix for Vista

This commit is contained in:
Sebastien Barre 2008-10-16 19:30:49 -04:00
parent b55f7a261f
commit 8e5886e652
2 changed files with 16 additions and 9 deletions

View File

@ -2980,15 +2980,22 @@ bool SystemInformationImplementation::QueryOSInformation()
{ {
if (osvi.wProductType == VER_NT_WORKSTATION) if (osvi.wProductType == VER_NT_WORKSTATION)
{ {
if (osvi.dwMajorVersion == 6)
{
this->OSRelease = "Vista";
}
// VER_SUITE_PERSONAL may not be defined // VER_SUITE_PERSONAL may not be defined
#ifdef VER_SUITE_PERSONAL #ifdef VER_SUITE_PERSONAL
if (osvi.wSuiteMask & VER_SUITE_PERSONAL) else
{ {
this->OSRelease += " Personal"; if (osvi.wSuiteMask & VER_SUITE_PERSONAL)
} {
else this->OSRelease += " Personal";
{ }
this->OSRelease += " Professional"; else
{
this->OSRelease += " Professional";
}
} }
#endif #endif
} }
@ -3015,7 +3022,7 @@ bool SystemInformationImplementation::QueryOSInformation()
} }
} }
sprintf (operatingSystem, "%s(Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF); sprintf (operatingSystem, "%s (Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF);
this->OSVersion = operatingSystem; this->OSVersion = operatingSystem;
} }
else else
@ -3095,7 +3102,7 @@ bool SystemInformationImplementation::QueryOSInformation()
else else
{ {
// Windows 2000 and everything else. // Windows 2000 and everything else.
sprintf (operatingSystem,"%s(Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF); sprintf (operatingSystem,"%s (Build %ld)", osvi.szCSDVersion, osvi.dwBuildNumber & 0xFFFF);
this->OSVersion = operatingSystem; this->OSVersion = operatingSystem;
} }
break; break;

View File

@ -4182,7 +4182,7 @@ kwsys_stl::string SystemTools::GetOperatingSystemNameAndVersion()
res += "Microsoft Windows Server 2008 family"; res += "Microsoft Windows Server 2008 family";
} }
#else #else
res += "Microsoft Windows Vista or Windows Server 2003"; res += "Microsoft Windows Vista or Windows Server 2008";
#endif #endif
} }