ich hab mir ein Tool gestartet, das auf allen Meinen Rechnern immer läuft und das für mich alle Programme die ich so nutze starte (quasi ein Nachbau der KDE Schnellstartleiste ALT+F2, nur Plattformunabhängig)
Das Kernstück des Programms ist folgender Code:
Code: Alles auswählen
Procedure TForm1.OpenApp(Filename: String);
Var
p: TProcessUTF8;
ep: TExecParam;
i: Integer;
Begin
p := TProcessUTF8.Create(Nil);
{$IFDEF WINDOWS}
p.Options := [poDetached, poNewProcessGroup]; // das alles bringt es auch nicht ..
{$ELSE}
p.Options := [poDetached]; // Detached scheint wohl keinen Einfluss zu haben
{$ENDIF}
ep := SplitFilenameToExecAndParam(Filename);
p.Executable := ep.Executable;
For i := 0 To high(ep.Params) Do Begin
p.Parameters.Add(ep.Params[i]);
End;
Try
p.Execute;
Except
On av: Exception Do Begin
showmessage('Error on executing: ' + ep.Executable + LineEnding +
'Error Message: ' + av.Message);
End;
End;
p.free;
End;
Kennt ihr einen Weg wie man die Anwendungen tatsächlich so starten kann, als habe der User darauf geklickt und ohne das z.B. der Prozess Explorer meine Anwendung als Parent anzeigt ?