AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Win7-Identifikation scheint unmöglich

Ein Thema von r29d43 · begonnen am 30. Aug 2010 · letzter Beitrag vom 30. Aug 2010
Antwort Antwort
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#1

Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 09:18
Hallo,

bisher benutzte ich immer folgende kleine Funktion (mit "GetVersionEx") fürs Identifizieren der jeweiligen Windows-Version:

Delphi-Quellcode:
function GetWinVersion: integer;
var osvi : TOSVersionInfo;
begin
  ZeroMemory(@osvi,sizeOf(osvi));
  osvi.dwOSVersionInfoSize := sizeOf(osvi);

  if not GetVersionEx(osvi) then begin
    Result := WinVersionError; // "Fehler" bei der Ermittlung der Windows-Version';
    exit;
  end;

  case osvi.dwPlatformId of
    // Test for the Windows NT product family.
    VER_PLATFORM_WIN32_NT:
      begin
        Result := HigherOS; // GREATER THAN hightestToday

        // Test for the specific product family.
        if(osvi.dwMajorVersion = 6) and (osvi.dwMinorVersion = 1) then
          Result := Win7; // Win7

        if(osvi.dwMajorVersion = 6) and (osvi.dwMinorVersion = 0) then
          Result := Vista; // Vista

        if(osvi.dwMajorVersion = 5) and (osvi.dwMinorVersion = 2) then
          Result := Win2003; // Microsoft Windows Server 2003 family;

        if(osvi.dwMajorVersion = 5) and (osvi.dwMinorVersion = 1) then
          Result := XP; // Microsoft Windows XP;

        if(osvi.dwMajorVersion = 5) and (osvi.dwMinorVersion = 0) then
          Result := W2k; // Microsoft Windows 2000;
      end;
    ELSE Result := LT_W2k; // LESS THAN W2k
  end; { of case }
end;

Bezüglich der Identifizierung von Win7 will das aber auf einmal nicht mehr funktionieren. Dergemäß wäre das Win7 jetzt nur noch ein WinXP ...mit dwMajorVersion=5 und dwMinorVersion=1.

Also habe ich schnell mal hier im Archiv herumgesucht...

...aber egal welche Kombination ich auch zwischen der Funktion "GetVersionEx" (möglich auch: "GetVersionExA" oder "GetVersionExW") und der "osvi"-Data (möglich sind: TOSVersionInfo, TOSVersionInfoA, TOSVersionInfoW) ausprobiere, es kommen für die Major- u. MinorVersion-Data immer wieder die gleichen Werte (5 u. 1) heraus oder die Funktion scheitert ganz.


Schlussendlich habe ich dann auch nochmal die Jedi Code Library gedownloadet und die dortige Funktion "GetWindowsVersionString" getestet. Mit dem Ergebnis: Auch die Jedi-Funktion meint mein System sei ein "Windows XP"!!!


Ist das normal so, dass Win7 nicht (oder nur sehr schwer) identifizierbar ist? Oder gibt es hierfür event. noch irgendwie eine andere Methode?


Thx schonmal im Voraus.
rXdY


PS. Sich selbst kennt Windows7 aber schon. Denn in der Systemsteuerung (>System) steht klar und deutlich: Windows 7 Home Premium. Wieso das also so schwierig sein muss, da eine einfache und korrekte Auskunft darüber zu geben, das wissen wahrscheinlich nur die Götter
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 09:20
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 09:21
Verwendet denn deine Anwendung ein Vista/Win7-erweitertes Manifest?
Falls nein könnte ich mir vorstellen das Vist einfach annimmt das die Anwendung nicht Vista/Win7-Kompatible ist und einfach ein XP "vorgaugelt"
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 09:23
So sollte es funktionieren: http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx (falls nicht, hat Microsoft wohl ein Problem *g*)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 09:51
Dein Delphi läuft im Kompatibilitätsmodus. Prüfe das einfach mal in den Eigenschaften.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 10:10
Dein Delphi läuft im Kompatibilitätsmodus. Prüfe das einfach mal in den Eigenschaften.
Genauso war es!

Thx allen!
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#7

AW: Win7-Identifikation scheint unmöglich

  Alt 30. Aug 2010, 10:17
Huraahh! Meine Glaskugel funktioniert wieder
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz