![]() |
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! |
AW: Windows Media Player mit ShellExecute ausführen?
Vielleicht hilft das hier:
![]() |
AW: Windows Media Player mit ShellExecute ausführen?
|
AW: Windows Media Player mit ShellExecute ausführen?
Naja, der Pfad steht dort aber auch nicht ;)
|
AW: Windows Media Player mit ShellExecute ausführen?
Ich glaube schon, hier -> "HKEY_LOCAL_MACHINE\Software\Microsoft\Multimedia\ WMPlayer\"
![]() 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
|
AW: Windows Media Player mit ShellExecute ausführen?
Delphi-Quellcode:
Ggf. musst Du die enthaltenen Umgebungsvariablen noch auflösen.
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; |
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? |
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:
Bei mir kommt dann "C:\Program Files (x86)\Windows Media Player\wmplayer.exe" heraus.
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; |
AW: Windows Media Player mit ShellExecute ausführen?
Wow... danke Dir! Jetzt funkt alles. :thumb:
|
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 14:46 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