Zitat:
wenn wenn du nur die Endung des letzten Parameters haben willst, warum nimmst du den dann nicht?
Ganz einfach..
Was ist denn der letzte Parameter von der Endung "F:\Mov\Das doppelte Lottchen.mp4"
Und du bist sicher das "Lottchen.mp4" dann abgespielt werden kann?
@SneakyBagels
Danke!
Habe deinen Beitrag etwas angepasst damit funktioniert das soweit.
Delphi-Quellcode:
initialization
hMutex := CreateMutex(nil, true, 'KVPlayer');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
if ParamCount > 0 then
begin
MainHandle := FindWindow('KVIDEOPLAYER', nil);
pName := PWideChar(ParamStr(ParamCount));
CopyDataStruct.dwData := 0;
CopyDataStruct.cbData := (StrLen(pName) + 1) * SizeOf(Char);
CopyDataStruct.lpData := pName;
SendMessage(MainHandle, WM_COPYDATA, 0, Integer(@CopyDataStruct));
end;
Halt;
end;
Delphi-Quellcode:
WM_COPYDATA:
begin
CopyDataStruct := pointer(Lp);
ExecuteCmdLine(CopyDataStruct.lpData);
end;
Delphi-Quellcode:
procedure ExecuteCmdLine(Title: Pointer);
var
Ext: TSplitStrArray;
Extension: string;
ValidExt: Bool;
IntI: integer;
pTitle: PWideChar;
begin
ValidExt := false;
pTitle := Title;
if Length(pTitle) > 0 then
begin
try
Ext := Split(VIDEOEXT, ';');
Extension := Lowercase(ExtractFileExt(pTitle));
for IntI := 0 to High(Ext) do
begin
if (Ext[IntI] = Extension) then
begin
ValidExt := true;
break;
end;
end;
finally
if ValidExt then
begin
if KVideo_HasOverlayImage then
KVideo_UpdateOverlayImage(0);
RunMediaFile(PWideChar(pTitle));
SKAERO_InvalidateRect(MainHandle, false);
ShowWindow(MovieHandle, SW_SHOW);
btnPlay.Enabled := false;
btnPause.Enabled := true;
end;
end;
end;
end;
Das ganze ist für die LaunchBar OverTheTaskBar damit wenn ich dort ein Movie auf mein KVideoPlayer Icon ziehe das Video abspielt.
gruss