![]() |
Windows Media Player Version auslesen ?
hallo
mit dem Code unten können wir DirectX version auslesen
Delphi-Quellcode:
Gibt es ein Code, die Windows Media Player Version zeigt oder auslesen kann?
function GetDirectXVersion(out Major, Minor: Byte): boolean;
var Reg: TRegistry; Version: array [0..1] of Cardinal; begin Result := False; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey('\Software\Microsoft\DirectX', False) then begin Result := Reg.ReadBinaryData('InstalledVersion', Version, SizeOf(Version)) = SizeOf(Version); Major := HiByte(HiWord((Version[0]))); Minor := HiByte(HiWord((Version[1]))); Reg.CloseKey; end; finally Reg.Free; end; end; Gruss |
Re: Windows Media Player Version auslesen ?
Ich hab folgende Regschlüssel gefunden:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ PlayerUpgrade\PlayerVersion HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\ Setup\ResetAutoPlay |
Re: Windows Media Player Version auslesen ?
Hallo
Danke sehr! also wenn das bei alle Windows der selbe Pfad ist, dann habe ich schon den Code geschrieben:
Delphi-Quellcode:
Bei anderen Software geht es auch genauso aber wie gesagt, ich bin nicht sicher, dass der Pfad bei alle Windows das selbe ist!!!
var regist: TRegistry;
i: String; begin regist:=TRegistry.Create; regist.Rootkey:=HKEY_LOCAL_MACHINE; regist.openkey('SOFTWARE\Microsoft\MediaPlayer\PlayerUpgrade',false); i:=regist.readString('PlayerVersion'); Es funktioniert :hi: tchüss |
Re: Windows Media Player Version auslesen ?
Warum liest du die Version nicht direkt aus der Exe aus?
|
Re: Windows Media Player Version auslesen ?
Zitat:
|
Re: Windows Media Player Version auslesen ?
In dem du die entsprechenden API-Funktionen nutz, um dier Versionsinformationen aus der Exe-Dateizulesen. Code dazu gibt es hier im Forum.
|
Re: Windows Media Player Version auslesen ?
Delphi-Quellcode:
Hiermit sollte es auch gehen. Musst halt den Pfad der Datei kennen.
function GetFileVersion(Datei : TFileName) : String;
//Ermittelt die Programmversion var VerInfoSize, VerValueSize, Dummy : DWord; VerInfo : Pointer; VerValue : PVSFixedFileInfo; begin VerInfoSize := GetFileVersionInfoSize (PChar (Datei), Dummy); //Speicher anfordern GetMem (VerInfo, VerInfoSize); //Versionsinformationen der Datei abfragen GetFileVersionInfo (PChar (Datei), 0, VerInfoSize, VerInfo); VerQueryValue (VerInfo, '\', Pointer (VerValue), VerValueSize); with VerValue^ do begin //Einzellne Versionsschritte zusammenfassen result := IntTostr (dwFileVersionMS shr 16); result := result + '.' + IntTostr (dwFileVersionMS and $FFFF); result := result + '.' + IntTostr (dwFileVersionLS shr 16); result := result + '.' + IntTostr (dwFileVersionLS and $FFFF); end; {with - VerValue^} //Speicher Freigeben FreeMem (VerInfo, VerInfoSize); end; GetFileVersion(Dateiname); |
Re: Windows Media Player Version auslesen ?
o Danke!
Ich habe den Code ausprobiert. Es funktioniert :) Aber trotzdem möchte ich den Code nicht nehmen, da ich die Version von Microsoft Programme schnell zeigen lassen möchte. Ich habe wie ich oben geschrieben habe, den Code programmiert und funktioniert aber ich bin nicht sicher, dass der Pfad immer stimmt (ich meine hier Windows Media Payer, Internet Explorer, ... ) Ich kann vielleicht den Code verwenden, wenn ich den Pfad von der exe in Registry finde oder? Gruß |
Re: Windows Media Player Version auslesen ?
wenn du ihn in der registry findes, geht das. dann kannst du aber auch gleich die versionsinformation aus der registry verwenden.
|
Re: Windows Media Player Version auslesen ?
Bei dem Auslesen der DirectX-Version aus der Registry würde mich jetzt eins interessieren. Deine Funktion würde bei mir 9.0 ergeben. Aber einerseits ist doch sehr wesentlich, welche Version es genau ist (aktuell ist, was DirectX 9 angeht, ja 9.0c bzw. 9.0L), und das scheint da irgendwie nicht drin zu stehen, sondern in Version (da kommt bei mir 4.09.00.0904 raus, das dürfte 9.0c entsprechen), und andererseits habe ich ja nicht nur DirectX 9L, sondern auch DirectX 10 installiert. dxdiag.exe gibt dementsprechend auch korrekt Version 10 aus.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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-2025 by Thomas Breitkreuz