Danke auch für die weiteren Infos.
So wie es scheint, kann ich das Programm beenden.
Mein nächstes Problem ist nun aber, dass das Programm mehrmals gestartet wird und ich die Programme wieder in einer vorgegebenen Reihenfolge beenden muss.
Starten tue ich das so
Delphi-Quellcode:
ShExecInfoW.Wnd := GetForegroundWindow;
ShExecInfoW.cbSize := SizeOf(SHELLEXECUTEINFOW);
ShExecInfoW.fMask := SEE_MASK_NOCLOSEPROCESS;
ShExecInfoW.lpVerb := 'open';
ShExecInfoW.lpFile := PWideChar(WideString(Filename));
ShExecInfoW.lpParameters := PWideChar(WideString(Para));
ShExecInfoW.lpDirectory := PWideChar(WideString(ExtractFileDir(Filename)));
ShExecInfoW.nShow := WindowState;
Result := ShellExecuteExW(@ShExecInfoW);
ShExecInfoW habe ich mir dann gemerkt, weiß aber nicht, wie ich das zum Beenden nutze.
Mit Fenster Handles, Process Handles usw. habe ich bisher noch nichts zu tun gehabt.