Einzelnen Beitrag anzeigen

Horst0815

Registriert seit: 23. Mai 2011
Ort: Görlitz
150 Beiträge
 
Delphi XE Starter
 
#8

AW: falsche Windows Version wird angezeigt

  Alt 18. Aug 2015, 22:02
Ja aber weil wProductType = 0 bzw. nicht VER_NT_WORKSTATION ist, springt das Programm ja in die Server Schleife


var OSVersionInfo: TOSVersionInfoEx;


Delphi-Quellcode:
      if (OsVersionInfo.dwMajorVersion = 10) and (OsVersionInfo.dwMinorVersion = 0) then
      begin
        if (OsVersionInfo.wProductType = VER_NT_WORKSTATION) then
          begin
               VersionString := 'Windows 10.0';
               VersionTyp := wvWin10;
          end
        else
          begin
               VersionString := 'Windows Server 2016';
               VersionTyp := wvWinServer2016;
          end;
          Showmessage(inttostr(OsVersionInfo.wProductType)); //liefert 0
     end;
      if (OsVersionInfo.wSuiteMask and VER_SUITE_PERSONAL) = VER_SUITE_PERSONAL then
        VersionString := VersionString + ' Home Edition'
      else
        VersionString := VersionString + ' Professional';
    end;

ändere ich if (OsVersionInfo.wProductType = VER_NT_WORKSTATION) then in
if (OsVersionInfo.wProductType <> VER_NT_WORKSTATION) then wird Windows 10 erkannt was ja aber falsch ist laut MSDN

OsVersionInfo.dwMajorVersion, OsVersionInfo.dwMinorVersion, OsVersionInfo.szCSDVersion, OsVersionInfo.dwBuildNumber und OsVersionInfo.wSuiteMask wird also richtig ausgelesen warum dann OsVersionInfo.wProductType nicht

Geändert von Horst0815 (18. Aug 2015 um 22:44 Uhr)
  Mit Zitat antworten Zitat