Die Mediaplayer Version auslesen:
Delphi-Quellcode:
function GetWMPlayerVersion(out Major, Minor, Revision, Build: Word): 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\MediaPlayer\Setup\Installed Versions', False) then
begin
Result := Reg.ReadBinaryData('wmplayer.exe', Version, SizeOf(Version)) = SizeOf(Version);
Major := HiWord(Version[0]); // Hauptversion (Major)
Minor := LoWord(Version[0]); // Nebenversion (Minor)
Revision := HiWord(Version[1]); // Ausgabeversion (Revision)
Build := LoWord(Version[1]); // Buildnummer (Build)
Reg.CloseKey;
end;
finally
Reg.Free;
end;
end;
procedure TFormX.ButtonDingsClick(Sender: TObject);
var hv, sv, sv2, bv: word;
begin
if GetWMPlayerVersion(hv, sv, sv2, bv)
then Label1.Caption := format('Mediaplayer Version: %d.%d.%d Build %d', [hv, sv, sv2, bv])
else Label1.Caption := format('Mediaplayer Version: %s', ['konnte nicht ermittelt werden.']);
end;
Das Auslesen der "Echten"
DirectX Version im Style "9.0c" ist etwas komplexer aber auch nicht schwer.
Finden kann man ein fertiges Delphibeispiel, übersetzt aus dem C++
SDK von MS hier:
GetDXVer.zip