Delphi-PRAXiS

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* auslesen (https://www.delphipraxis.net/59686-windows-%2Aversion%2A-auslesen.html)

Jonas 27. Dez 2005 12:31


Windows *Version* auslesen
 
Hi, ich wollte fragen wie man den Windows Versions-Tag auslesen kann. Ich meine nicht *Windows XP Professional, 5.1 2600*, sondern wenn man beispielsweise auf Arbeitesplatz, Eigenschaften geht, wird dort die Versionsnr bei xp *Version 2002* angezeigt, genau das möchte ich auslesen. Leider bin ich im Internet nicht fündig geworden, jemand eine Idee?

Daniel B 27. Dez 2005 12:40

Re: Windows *Version* auslesen
 
Such doch einfach mal nach den Begriffen in der Registry, dann weisst Du auch gleich wie und wo du die auslesen kannst. :)

Sharky 27. Dez 2005 12:43

Re: Windows *Version* auslesen
 
Zitat:

Zitat von Daniel B
Such doch einfach mal nach den Begriffen in der Registry ...

Oder Du schaust mal hier in der Code-Library. Dort hat ein User dessen Name ich nicht nennen möchte :stupid: einen Code dafür geschrieben der von anderen auch noch erweitert wurde.

Du musst eigentlich nur die "Result-Strings" so anpassen wie Du es möchtest.

reepo2k 27. Dez 2005 12:48

Re: Windows *Version* auslesen
 
Zitat:

Zitat von Jonas
Hi, ich wollte fragen wie man den Windows Versions-Tag auslesen kann. Ich meine nicht *Windows XP Professional, 5.1 2600*, sondern wenn man beispielsweise auf Arbeitesplatz, Eigenschaften geht, wird dort die Versionsnr bei xp *Version 2002* angezeigt, genau das möchte ich auslesen. Leider bin ich im Internet nicht fündig geworden, jemand eine Idee?


http://www.dsdt.info/tipps/?id=182


MfG: reepo2k

PS: Habs nicht getestet...

Jonas 27. Dez 2005 15:00

Re: Windows *Version* auslesen
 
Danke für die Antworten, aber das hilft mir alles nicht weiter. Ich hab die Registry vergeblich durchsucht und bin nicht fündig geworden. Das andere sind alles nur die allgemeinen Windows versionen. Ich brauche aba die funktion für die *Version 2002* Anzeige und nicht welches Windows es ist.

Valle 27. Dez 2005 15:07

Re: Windows *Version* auslesen
 
In der Registry gehst du auf:

--HKEY_LOCAL_MACHINE
----Software
------Microsoft
--------Windows
----------CurrentVersion

Dort müsstest du finden was du suchst und gleich noch viel mehr.. :lol: :lol:
Ich hoffe das klappt auch weil ich es bis jetzt nur unter Win 98, Win Me, und Win 200 Prof. ausprobiert habe!

MfG Valle

Jonas 27. Dez 2005 15:10

Re: Windows *Version* auslesen
 
Nope das was ich suche steht dort auch nicht drinn. Unter XP sollte man jedoch eher unter Windows NT schauen. Aber die Anzeige *Version 2002* habe ich dort auch nicht.

Valle 27. Dez 2005 15:19

Re: Windows *Version* auslesen
 
Dann tuts mir echt leid...
Nur sag mal, wie machst du das dass du antworten kannst und
trotzdem steht bei dir immer offline? Versteckst du dich? Bist du unendschlossen?

Jonas 27. Dez 2005 15:35

Re: Windows *Version* auslesen
 
;) Hoffe ich ja noch immer das mir wer weiter helfen kann!

Huh? kA!

faux 27. Dez 2005 15:41

Re: Windows *Version* auslesen
 
Vielleicht ist das einfach ein hardgecodeter String, der fix in der rundll32.exe ist.
Wieso brauchst du denn diesen String?

Grüße
Faux

Jonas 27. Dez 2005 16:15

Re: Windows *Version* auslesen
 
Ich arbeite an einer Systemübersicht. Naja und mir ist aufgefallen das der Versionswert von unabhängig von der Windows Version verschieden ist. Ansonsten wär's ja kein Problem das wenn das programm erkennt das beispielsweise Windows XP drauf ist Version 2002 auszugeben, aber der Wert ist halt davon unabhängig und von daher würde ich diesen gerne auslesen lassen.

faux 27. Dez 2005 16:58

Re: Windows *Version* auslesen
 
Also ich hab Windows XP Media Center Edition 2005 und bei mir steht trotzdem Version 2002. :roll:

fred.reichbier 27. Dez 2005 17:12

Re: Windows *Version* auslesen
 
mein tip: hol dir RegMon von Sysinternals und sieh nach was der da für werte durchguckt.

MagicAndre1981 27. Dez 2005 17:44

Re: Windows *Version* auslesen
 
Zitat:

Zitat von faux
Also ich hab Windows XP Media Center Edition 2005 und bei mir steht trotzdem Version 2002. :roll:

Hab ich auch. Ich hab immer noch nicht geraft, warum er den String unbedingt braucht :?

faux 27. Dez 2005 18:27

Re: Windows *Version* auslesen
 
Zitat:

Zitat von MagicAndre1981
Hab ich auch. Ich hab immer noch nicht geraft, warum er den String unbedingt braucht :?

Everest zeigt den auch nicht an.
Du kannst ja das Kompillierungsdatum (schreibt man das so?) stattdessen anzeigen:
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\BuildLab
Denke, dass da das Kompilierungsdatum drin steckt:
Code:
2600.xpsp_sp2_rtm.[color=red]040803[/color]-2158
                  ddmmyy
Grüße
Faux

Jonas 29. Dez 2005 21:36

Re: Windows *Version* auslesen
 
Danke, aber das hilft mir nicht so wirklich bei dem weiter was ich gerne hätte :)

MagicAndre1981 29. Dez 2005 21:58

Re: Windows *Version* auslesen
 
Zitat:

Zitat von Jonas
Danke, aber das hilft mir nicht so wirklich bei dem weiter was ich gerne hätte :)

Kannst du mir mal bitte den Sinn davon erklären? Warum willst du das 2002 haben?

Daniel B 29. Dez 2005 22:11

Re: Windows *Version* auslesen
 
Also gut, hier mal die Auflösung, immer diese Romane schreiben. :roll:

Geh in: HKLM\SW\MS\Win NT\CV...

Hier mal die Liste, aus den ganzen Sachen kannst du dir alles zusammen fieseln was dieses Arbeitsplatz Eigenschaftenfenster auch macht...

SQL-Code:
Name               Bedeutung
 
CurrentVersion     Aktuelle Version von NT
CurrentBuildNumber Aktuelle Build Nummer
CSDVersion         Service Pack Nummer. Bei einer beta Version steht hier: RC x.x
InstallDate        Datum und Zeit der Installation
SystemRoot         Windows NT Installationsverzeichnis
CurrentBuild       Aktuelle Version von NT
CurrentType        Aktuelle Version von NT
PathName           Systemdateien von NT
SourcePath         Lage der Installationsdateien
Mehr schrieb i net, Tinte in der Tastatur ist fast alle...

PS:
Das hab ich noch im Netz gefunden...

Version:
Build:

3.5
807

3.51
1057

4.00
1381

5.00 (Beta 2)
1515

5.00 Windows 2000 (Beta 3)
2031

5.00 Windows 2000 (Beta 3 RC2)
2128

5.00 Windows 2000 (Beta 3)
2183

5.00 Windows 2000 (Verkaufsversion)
2195

Whistler Server Preview
2250 (13.07.2000)

Whistler Server alpha
2257 (24.08.2000)

Whistler Server interim release
2267 (03.10.2000)

Whistler Server interim release
2410 (01.04.2001)

5.1 Windows XP (RC 1)
2505

5.1 Windows XP
2600

Windows .NET Server interim
3541 (08.19.2001)

Windows .NET Server Beta 3
3590 (11.15.2001)

Windows .NET Server Release Candidate 1 (RC1)
3660 (06.24.2002)

Windows .NET Server 2003 RC2
3718 (15.05.2002)

Windows Server 2003
3763 (02.07.2003)

Jonas 29. Dez 2005 22:51

Re: Windows *Version* auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin doch nur auf der suche nach diesem *Version 2002*!

Ich weiss das es sich zu 100% nicht aus den Buildtags rauslesen lässt. Sieht man sich beispielsweise Windows Codename Longhorn/Vista an *version 2003* 4074.idx02.040425-1535 -> wäre demnach ja Version 2004? Ist aber 2003, also muss man es woanders aus her auslesen müssen, da bin ich mir ganz sicher.

faux 29. Dez 2005 22:53

Re: Windows *Version* auslesen
 
Zitat:

Zitat von Daniel B
Geh in: HKLM\SW\MS\Win NT\CV...

Hier mal die Liste, aus den ganzen Sachen kannst du dir alles zusammen fieseln was dieses Arbeitsplatz Eigenschaftenfenster auch macht...

Toll. So weit waren wir vor deinem Post auch schon. :roll:

@Jonas:
Was macht denn das für einen Sinn, dass du unbedingt dieses 2002 haben willst, obwohl du nichtmal weißt, was es damit aufsich hat. :gruebel:
Vielleicht wird das einfach nach einer Regel erstellt: Win XP: Version 2002, Win Vista: Version 2003, oder so....

Grüße
Faux

NACHTRAG:
So, ich hab jetzt mal mittels RegMon festgestellt, dass die Strings in der Kategorie System nicht aus der Registry ausgelsen werden.
Also weder Microsoft Windows XP, noch Professional/Home noch Version 2002 oder Service Pack 2. Die Strings sind schätze ich mal in einer Datei fix verankert.

Grüße
Faux

Jonas 30. Dez 2005 00:07

Re: Windows *Version* auslesen
 
Ich weiß schon, bzw. denke schon zu wissen was es damit aufsich hat. Naja, man kann schon mittler's der registry feststellen ob es eine Home Edition ist, oder Professional genauso wie Service Pack 2 etc. wie du schon im oben genannten Post gesagt hast. Das lese ich ja auch alles aus, nur eben diese kleine Info mit dem *Version 2002* fehlt mir. Aber genau das ist mir wichtig diesen Wert auszulesen. Ich könnte genauso gut sagen das, wenn es XP is -> Version 2002, bei Server -> Version 2003 etc.
1. Es kann falsch werden, da sich die Versions nummer immer (bei Service Packs) ändern *könnte*
2. Ich müsste es jedes mal im Code ändern, bei ner neuen Windows Version -> alles wieder ändern.
Desweiteren bin ich mir sicher das man den Wert irgendwie auslesen kann, nur ich weiss eben nicht wie.

xaromz 30. Dez 2005 10:39

Re: Windows *Version* auslesen
 
Hallo,

ich hab mir mal die Datei "sysdm.cpl" (Systemeigenschaften) im HexEditor angesehen. Ratet mal, welchen String ich da gefunden habe. Genau, "Version 2002". Außerdem noch "64-Bit-Version", "Embedded", "Professional", "Server"...
Ich vermute, auch Microsoft wählt über die Build-Nummer einfach einen String aus und zeigt diesen an.

Gruß
xaromz

faux 30. Dez 2005 11:06

Re: Windows *Version* auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von xaromz
ich hab mir mal die Datei "sysdm.cpl" (Systemeigenschaften) im HexEditor angesehen. Ratet mal, welchen String ich da gefunden habe. Genau, "Version 2002". Außerdem noch "64-Bit-Version", "Embedded", "Professional", "Server"...
Ich vermute, auch Microsoft wählt über die Build-Nummer einfach einen String aus und zeigt diesen an.

Das Selbe habe ich gestern auch gemacht, jedoch nur die Strings 64-BitVersion, Embedded, Professional, Server, etc. gefunden.
Das Version 2002 habe ich vergeblich gesucht. :?
Wo steht denn das?
EDIT: Zu ungenau gelsen. ;) Habs gefunden.

Zitat:

Zitat von Jonas
1. Es kann falsch werden, da sich die Versions nummer immer (bei Service Packs) ändern *könnte*

Bei mir steht ohne SP, sowie mit SP1 oder SP2 immer Version 2002 da.

Grüße
Faux

Jonas 30. Dez 2005 15:50

Re: Windows *Version* auslesen
 
Dankeschön für die Info :mrgreen:

Hab nochmal in ner anderen Windows version geschaut, da isses hingegen nicht mehr zu finden, was wohl heißt ich muss es doch Versions abhängig machen. Aber trotzdem danke ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.

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 by Thomas Breitkreuz