Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Alte Instanz über CmdLine aktivieren\starten

  Alt 24. Mai 2017, 21:18
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

Geändert von EWeiss (24. Mai 2017 um 21:47 Uhr)
  Mit Zitat antworten Zitat