Forráskód Böngészése

ENH: fix for Windows Vista

Sebastien Barre 17 éve
szülő
commit
ef93279573
1 módosított fájl, 22 hozzáadás és 7 törlés
  1. 22 7
      Source/kwsys/SystemTools.cxx

+ 22 - 7
Source/kwsys/SystemTools.cxx

@@ -4170,6 +4170,18 @@ kwsys_stl::string SystemTools::GetOperatingSystemNameAndVersion()
       
       // Test for the specific product family.
 
+      if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0)
+        {
+        if (osvi.wProductType == VER_NT_WORKSTATION)
+          {
+          res += "Microsoft Windows Vista";
+          }
+        else
+          {
+          res += "Microsoft Windows Server 2008 family";
+          }
+        }
+
       if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2)
         {
         res += "Microsoft Windows Server 2003 family";
@@ -4203,13 +4215,16 @@ kwsys_stl::string SystemTools::GetOperatingSystemNameAndVersion()
             {
             res += " Workstation 4.0";
             }
-          else if (osvi.wSuiteMask & VER_SUITE_PERSONAL)
-            {
-            res += " Home Edition";
-            }
-          else
+          else if (osvi.dwMajorVersion == 5)
             {
-            res += " Professional";
+            if (osvi.wSuiteMask & VER_SUITE_PERSONAL)
+              {
+              res += " Home Edition";
+              }
+            else
+              {
+              res += " Professional";
+              }
             }
           }
             
@@ -4253,7 +4268,7 @@ kwsys_stl::string SystemTools::GetOperatingSystemNameAndVersion()
               }
             }
 
-          else  // Windows NT 4.0 
+          else if (osvi.dwMajorVersion <= 4)  // Windows NT 4.0 
             {
             if (osvi.wSuiteMask & VER_SUITE_ENTERPRISE)
               {