Das war schon mal der erste Denkfehler.
Ich brauch das
Handle.
Das
Handle bekomme ich zwar mit
ChildProcessHandle := OpenProcess(PROCESS_QUERY_INFORMATION, false, PROCS.th32ProcessID);
zurück,
TerminateProcess kommt aber immer noch mit false zurück und der Prozess läuft weiter.
Der Code läuft im einem Thread, Synchronize bringt allerdings auch nichts.
Der ParentProzess lässt sich ohne weiteres killen.