Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Windows Media Player mit ShellExecute ausführen? (https://www.delphipraxis.net/183637-windows-media-player-mit-shellexecute-ausfuehren.html)

OrNEC 24. Jan 2015 16:50

Windows Media Player mit ShellExecute ausführen?
 
Hallo,

ich habe vor mittels ShellExecute den WMP ausführen und diesem eine mp3-Datei zum Abspielen übergeben. Nun wie starte ich mit ShellExecute den WMP? Gib es eine Verzeichnisvariable die weiß wo der WMP liegt, unabhängig von der Windows Version?

Danke!

DeddyH 24. Jan 2015 17:03

AW: Windows Media Player mit ShellExecute ausführen?
 
Vielleicht hilft das hier: http://www.autoitscript.com/forum/to...n-path-of-wmp/

EWeiss 24. Jan 2015 17:24

AW: Windows Media Player mit ShellExecute ausführen?
 
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

gruss

DeddyH 24. Jan 2015 17:34

AW: Windows Media Player mit ShellExecute ausführen?
 
Naja, der Pfad steht dort aber auch nicht ;)

OrNEC 24. Jan 2015 17:51

AW: Windows Media Player mit ShellExecute ausführen?
 
Ich glaube schon, hier -> "HKEY_LOCAL_MACHINE\Software\Microsoft\Multimedia\ WMPlayer\" Link

Wie kann ich nur den Pfad vervollständigen? Mit dem Laufwerk usw.. aktuell sieht es so aus:

Delphi-Quellcode:
%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe

DeddyH 24. Jan 2015 18:00

AW: Windows Media Player mit ShellExecute ausführen?
 
Delphi-Quellcode:
uses Registry;

function WMPPath: String;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create(KEY_READ);
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('SOFTWARE\Microsoft\Multimedia\WMPlayer', false) then
      begin
        Result := Reg.ReadString('Player.Path');
        Reg.CloseKey;
      end;
  finally
    Reg.Free;
  end;
end;
Ggf. musst Du die enthaltenen Umgebungsvariablen noch auflösen.

OrNEC 24. Jan 2015 18:08

AW: Windows Media Player mit ShellExecute ausführen?
 
Danke Dir!

Wie kann ich nun den Pfad vervollständigen? Mit dem Laufwerk usw.. aktuell sieht es so aus:

Delphi-Quellcode:
%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe


Wieso gibt Microsoft eigentlich keinen vollständigen Pfad, was haben die %..% auf sich?

DeddyH 24. Jan 2015 18:24

AW: Windows Media Player mit ShellExecute ausführen?
 
Das sind Umgebungsvariablen, Du kannst ja mal auf der Konsole mit "set" nachschauen, was es so alles gibt. Auflösen kannst Du die z.B. mit ExpandEnvironmentStrings oder mit dieser eigentlich veralteten Routine:
Delphi-Quellcode:
function ReplaceEnvironmentStrings(const APath: string): string;
begin
  Result := APath;
  SetLength(Result, MAX_PATH);
  if DoEnvironmentSubst(PChar(Result), Length(Result)) = 0 then
    begin
      Result := '';
      raise Exception.Create(SysErrorMessage(GetLastError));
    end;
  SetLength(Result, StrLen(PChar(Result)));
end;
Bei mir kommt dann "C:\Program Files (x86)\Windows Media Player\wmplayer.exe" heraus.

OrNEC 24. Jan 2015 18:33

AW: Windows Media Player mit ShellExecute ausführen?
 
Wow... danke Dir! Jetzt funkt alles. :thumb:

Redeemer 24. Jan 2015 22:27

AW: Windows Media Player mit ShellExecute ausführen?
 
Man muss zum Ausführen des WMP doch überhaupt keinen Pfad angeben...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 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