Ich möchte ein Movie starten wenn meine Anwendung schon aktiv ist.
Ist sie es nicht stellt es kein Problem dar.
Delphi-Quellcode:
// Commandline Parameter auswerten
StartParams := '';
ValidExt := false;
for Params := 1 to ParamCount do
StartParams := StartParams + ' ' + ParamStr(Params);
if length(StartParams) > 0 then
begin
try
Ext := Split(VIDEOEXT, ';');
Extension := Lowercase(ExtractFileExt(StartParams));
for IntI := 0 to High(Ext) do
begin
if (Ext[IntI] = Extension) then
begin
ValidExt := true;
break;
end;
end;
finally
if ValidExt then
begin
RunMediaFile(PWideChar(StartParams));
SKAERO_InvalidateRect(MainHandle, false);
ShowWindow(MovieHandle, SW_SHOW);
btnPlay.Enabled := false;
btnPause.Enabled := true;
end;
end;
end;
Wenn die Anwendung startet erstelle ich vorher den
Mutex um einen Neustart zu verhindern.
Delphi-Quellcode:
initialization
hMutex := CreateMutex(nil, true, 'KVPlayer');
if GetLastError = ERROR_ALREADY_EXISTS then
Halt;
finalization
if hMutex <> 0 then
CloseHandle(hMutex)
Wie kann ich den jetzt umgehen wenn ich mit DragDrop ein Movie auf mein Anwendungsicon ziehe während die Anwendung aktiv ist.
Es soll aber keine zweite Instanz gestartet werden.
gruss