Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

OS Version wird nicht erkannt

  Alt 16. Feb 2011, 18:29
Meine Funktion zur Erkennung der OS Version funktioniert einwandfrei mit D2006 in der IDE
Das gleiche in D2009 gibt mir immer XP als Rückgabe in der IDE.

Wird die EXE kompiliert gestartet erkennt er aber das richtig OS.
Sehr seltsam das ganze.

Delphi-Quellcode:
function OsVersion: Integer;
var
  osVerInfo: TOSVersionInfo;
  majorVer, minorVer: Integer;
begin

  osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
  if GetVersionEx(osVerInfo) then
  begin
    majorVer := osVerInfo.dwMajorVersion;
    minorVer := osVerInfo.dwMinorVersion;
    case osVerInfo.dwPlatformId of

      VER_PLATFORM_WIN32_NT:
        begin
          if majorVer <= 4 then
            Result := cOsWinNT
          else if (majorVer = 5) and (minorVer = 0) then
            Result := cOsWin2000
          else if (majorVer = 5) and (minorVer = 1) then
            Result := cOsXP
          else if (majorVer = 6) and (minorVer = 0) then
            Result := cOsVista
          else if (majorVer = 6) and (minorVer = 1) then
            Result := cOsWin7
          else
            Result := cOsUnknown;
        end;

      VER_PLATFORM_WIN32_WINDOWS:
        begin
          if (majorVer = 4) and (minorVer = 0) then
            Result := cOsWin95
          else if (majorVer = 4) and (minorVer = 10) then
          begin
            if osVerInfo.szCSDVersion[1] = 'Athen
              Result := cOsWin98SE
            else
              Result := cOsWin98;
          end
          else if (majorVer = 4) and (minorVer = 90) then
            Result := cOsWinME
          else
            Result := cOsUnknown;
        end;
      else
        Result := cOsUnknown;
    end;
  end
  else
    Result := cOsUnknown;
end;
  Mit Zitat antworten Zitat