Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Version ermitteln (https://www.delphipraxis.net/39660-windows-version-ermitteln.html)

MagicAndre1981 19. Jan 2006 16:29

Re: Windows Version ermitteln [Update]
 
Liste der Anhänge anzeigen (Anzahl: 2)
So, ich hab mal ein Update der Erkennungs-Routine der Code-Lib gemacht, um weitere Windows-Versionen (mit Betas) zu erkennen.

Quellen:
Code der unit zum Erkennen von Windows ist im Anhang.

Unterstütze Versionen:
  • Windows Vista
  • Windows Server 2003 (Standard, Web Edition, Enterprise, DataCenter, Standard Edition for Itanium-based Systems, Enterprise Edition for Itanium-based Systems, DataCenter Edition for Itanium-based Systems, Standard x64 Edition, Enterprise x64 Edition, DataCenter x64 Edition)
  • Windows Server 2003 R2
  • Windows XP Prof. x64 Edition
  • Windows XP Prof.
  • Windows XP Home
  • Windows XP Tablet Edition
  • Windows XP Media Center Edition
  • Windows 2000 (Prof., Server, DataCenter, Advanced Server + Betas (Codename NT5.0))
  • Windows NT 4 Server (Server, Enterprise Server, Advanced Server)
  • Windows NT 4 Workstation (mit Unterscheidunf zw. SP6 und SP6a)
  • Windows NT 3.51
  • Windows 95 (A,B,C + Betas (Codename: Chicago, Nashville))
  • Windows 98 (Original, SE + Betas (Codename: Memphis))
  • Windows ME (Original + BETA 1 (Codename: Georgia))

Offene Fragen:
  • Unterscheidung der MCE-Versionen (2002,2004,2005)
  • Erkennung der Windows XP N-Editions

Benutzung:

Delphi-Quellcode:
uses GetWindowsVersion;

Edit1.Text := GetWinVersion;
So, dann happy Windowserkenning :zwinker:

André

MagicAndre1981 29. Aug 2006 16:05

Re: Windows Version ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 3)
So, es gibt wieder mal ein Update der Windowserkennungsfunktion.

Neu hinzugekommen ist die Erkennung von:
  • Erkennung der verschiedenen SKUs von Windows Vista
  • Unterscheidung zwischen TabletPC-Edition und TabletPC Edition 2005
  • Unterscheidung zwischen Windows XP Media Center Edition, Windows XP Media Center Edition 2004 und Windows XP Media Center Edition 2005
  • Erkennung von Windows Fundamentals for Legacy PCs

Unterstütze Versionen:
  • Windows Vista (alle SKUs)
  • Windows Server 2003 (Standard, Web Edition, Enterprise, DataCenter, Standard Edition for Itanium-based Systems, Enterprise Edition for Itanium-based Systems, DataCenter Edition for Itanium-based Systems, Standard x64 Edition, Enterprise x64 Edition, DataCenter x64 Edition)
  • Windows Server 2003 R2
  • Windows XP Prof. x64 Edition
  • Windows XP Prof.
  • Windows XP Home
  • Windows XP Tablet Edition und TabletPC Edition 2005
  • Windows Fundamentals for Legacy PCs
  • Windows XP Media Center Edition alle Versionen (2002, 2004, 2005)
  • Windows 2000 (Prof., Server, DataCenter, Advanced Server + Betas (Codename NT5.0))
  • Windows NT 4 Server (Server, Enterprise Server, Advanced Server)
  • Windows NT 4 Workstation (mit Unterscheidunf zw. SP6 und SP6a)
  • Windows NT 3.51
  • Windows 95 (A,B,C + Betas (Codename: Chicago, Nashville))
  • Windows 98 (Original, SE + Betas (Codename: Memphis))
  • Windows ME (Original + BETA 1 (Codename: Georgia))

Offene Fragen:
  • Erkennung von Windows XP Embedded
  • Erkennung der Windows XP N-Editions

Quellen:

MagicAndre1981 20. Mär 2007 14:55

Re: Windows Version ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Update:

In der neuen Version werden nun die N-Editions von XP (Home-N und Prof-N), WindowsXP 2003 Edition für IA64 und ein paar zusätzliche Betas unterstützt. Auch ein Bug bei der Erkennung von Win95 wurde beseitigt (Thx an Mazel ). Den Support für die K-und KN-Editions hab ich rausgenommen, da der Download von Technet so lahm ist und ich das nicht rechtzeitig testen konnte :wall:

Offene Fragen:
  • Erkennung von XP embedded
  • Erkennung von K- und KN Editions


André

MagicAndre1981 17. Apr 2007 19:35

Re: Windows Version ermitteln
 
So ich mache Fortschritt bei der Windowserkennung. Ich bastel gerade eine Komponente dafür.

Nun hab ich noch eine Frage. Wie lese ich die Revisionsnummer der Windowsversion aus? Ich meine diese Nummer: 6000.16386. Die 6000 ist die Buildnummer, da komm ich ran, nur die andere ist schwieriger zu bekommen. Es gibt die Schlüssel BuildLab und BuildLabEx, aber die werden bei einem Update des Kernels erhöht.

Diese Nummer brauche ich zur Unterscheidung der Longhorn Server Betas (Dez, feb und April CTP, da diese immer Build 6001 sind und sich nur in der Revisionsnummer unterscheiden :wall: ).

hat jemand eine Idee?

RWarnecke 6. Mai 2007 15:04

Re: Windows Version ermitteln
 
Zitat:

Zitat von MagicAndre1981
Nun hab ich noch eine Frage. Wie lese ich die Revisionsnummer der Windowsversion aus? Ich meine diese Nummer: 6000.16386. Die 6000 ist die Buildnummer, da komm ich ran, nur die andere ist schwieriger zu bekommen. Es gibt die Schlüssel BuildLab und BuildLabEx, aber die werden bei einem Update des Kernels erhöht.

Warum holste Dir die Nummer nicht aus der Registry ? Ich bastel auch gerade an einer Unit rum, die mir viele Informationen vom Betriebssystem ausliest. Die Nummer steht unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion. Meine Unit basiert auf vielen verschiedenen Beiträge hier aus dem Forum.

EDIT : Als Grundlage zu den ganzen Beiträgen aus hier aus dem Forum, kommt noch die Unit os_info2.pas aus diesem Beitrag hinzu.

MagicAndre1981 6. Mai 2007 16:56

Re: Windows Version ermitteln
 
Zitat:

Zitat von RWarnecke
Warum holste Dir die Nummer nicht aus der Registry ? Ich bastel auch gerade an einer Unit rum, die mir viele Informationen vom Betriebssystem ausliest. Die Nummer steht unter HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion.

weil die da nirgends steht :zwinker: :roll:

RWarnecke 6. Mai 2007 17:15

Re: Windows Version ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Verstehe ich da etwas falsch. Du möchtest doch die Build-Nummer haben oder ?

Im angehängten Bild siehst Du einen Auszug aus dem Registrykey HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion von einer Windows Vista Business Installation.

MagicAndre1981 6. Mai 2007 17:23

Re: Windows Version ermitteln
 
Zitat:

Zitat von RWarnecke
Verstehe ich da etwas falsch. Du möchtest doch die Build-Nummer haben oder ?

nöö, die Revisionsnummer, also die 16386 und nicht die 6000 ;)

RWarnecke 6. Mai 2007 17:35

Re: Windows Version ermitteln
 
Irgendwie stehe ich auf dem Schlauch. Du möchtest die Revisionsnummer haben. Die steht doch in der Zeichenkette drin. Parse die Zeichenkette doch. Dann hast Du die Nummer.

Du kannst doch die Explodefunktion nehmen und gibts immer die zweite Position aus. Damit hast Du doch dann Deine Nummer oder etwa nicht ?

MagicAndre1981 6. Mai 2007 17:39

Re: Windows Version ermitteln
 
die ändert sich bei Updates des Kernels!!!!!!!!

Kuck doch mal mein Bild im Album an. Bei den CTPs für Windows Server 2007 ist das kein Problem, doch für die Beta3 wird es Updates geben. Wenn nun ein Sicherheitsproblem festgestellt wird und ein Update kommt, dann ändert sich der String.

Nun verstanden wo mein Problem ist? :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz