Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windows Media Player Version auslesen ? (https://www.delphipraxis.net/97543-windows-media-player-version-auslesen.html)

taktaky 12. Aug 2007 15:29


Windows Media Player Version auslesen ?
 
hallo

mit dem Code unten können wir DirectX version auslesen
Delphi-Quellcode:
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;
Gibt es ein Code, die Windows Media Player Version zeigt oder auslesen kann?

Gruss

Cyberbob 12. Aug 2007 16:01

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

taktaky 12. Aug 2007 17:34

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:
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');
Bei anderen Software geht es auch genauso aber wie gesagt, ich bin nicht sicher, dass der Pfad bei alle Windows das selbe ist!!!

Es funktioniert :hi: tchüss

Luckie 12. Aug 2007 18:21

Re: Windows Media Player Version auslesen ?
 
Warum liest du die Version nicht direkt aus der Exe aus?

taktaky 12. Aug 2007 18:51

Re: Windows Media Player Version auslesen ?
 
Zitat:

Zitat von Luckie
Warum liest du die Version nicht direkt aus der Exe aus?

wie dann?

Luckie 12. Aug 2007 19:26

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.

Cyberbob 12. Aug 2007 20:08

Re: Windows Media Player Version auslesen ?
 
Delphi-Quellcode:
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);
Hiermit sollte es auch gehen. Musst halt den Pfad der Datei kennen.

taktaky 14. Aug 2007 22:19

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ß

Cyberbob 14. Aug 2007 23:05

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.

OregonGhost 15. Aug 2007 07:21

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 17:33 Uhr.
Seite 1 von 2  1 2      

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