Autor Beitrag
stiftmaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149



BeitragVerfasst: Do 31.07.08 19:57 
Hallo,

mein Programm muss beim Start wissen, auf welchem Betreibssystem es läuft. Dafür habe ich bisher folgende drei Werte ausgelesen:

ausblenden Delphi-Quelltext
1:
2:
3:
  Label1.Caption := IntToStr(Win32Platform);
  Label2.Caption := IntToStr(Win32MajorVersion);
  Label3.Caption := Win32CSDVersion;


Damit konnte ich bisher alle Versionen unterscheiden. Jetzt habe ich allerdings das Problem mit Windows Vista (SP1) und Windows Server 2008 (SP1). Für beide Versionen kommen hier die gleichen Werte raus:
2
6
Service Pack1

Stellt sich für mich jetzt die Frage: Wie unterscheide ich zwischen den beiden Betriebssystemen.

Vielen Dank für eure Hilfe

Stefan
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Do 31.07.08 21:09 
Suche im MSDN GETPRODUCTINFO sollte Dir dabei helfen.
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Fr 01.08.08 09:14 
Du fragst Platform und MajorVersion ab. Gibt es nicht noch MinorVersion?

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Fabian E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 554

Windows 7 Ultimate
Visual Studio 2008 Pro, Visual Studion 2010 Ultimate
BeitragVerfasst: Fr 01.08.08 11:14 
www.delphi-treff.de/tipps/system/tipp/121/

Das kannst du ja aoch erweitern. Musst halt noch die Zahlen rausfinden.
stiftmaster Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149



BeitragVerfasst: So 07.09.08 12:07 
Hi,

leider kamen mal wieder ein paar andere Sachen dazwischen und daher kann ich erst jetzt hier antworten...

www.delphi-treff.de/tipps/system/tipp/121/
=> genau das mache ich auch. Allerdings sind die Werte für Vista+SP1 und W2K8+SP1 gleich. Dies ist meiner Forschung nach auch korrekt, da beide Versionen auf dem absolut identischen Kernel aufbauen. Aus diesem Grund gibt es auch kein W2K8 ohne SP, da MS auch durch die Namensgebung deutlich machen möchte, dass dies der gleiche Kernel ist.

MajorVersion
=> diese habe ich auch schon abgefragt, aber wie oben beschrieben ist dieser Wert immer 0. Nach obiger Erklärung macht dies dann auch Sinn, dass die Werte gleich sind.

GETPRODUCTINFO
Daran kämpfe ich noch. Hab da zwar schon einiges gefunden, aber nichts, was mich wirklich weiter bringt. Meine Überlegung geht momentan dahin nach dem Produkt-String zu suchen (wie immer man den auch rausbekommt) und dann zu schauen, ob dort Vista oder 2008 drin steht.

Nochmals vielen Dank für eure Hilfe. Sobald ich was Neues in Erfahrung gebracht habe, werde ich mich melden.

Bis dahin

Stefan
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 07.09.08 12:44 
WindowsVersionInfo ( www.delphipraxis.net...t=windowsversioninfo ) erkennt Win2008. Vllt. kannst du dir da was abschauen.