Es ist ja bekannt, dass TerminateProcess() einen Prozess nicht unbedingt ordnungsgemäß beendet.
Darum werfe ich die Funktion SafeTerminateProcess vom Artikel
A Safer Alternative to TerminateProcess() auf Dr. Dobb's in den Raum.
Siehe auch eine
Delphi Umsetzung.
Anbei noch 2 Funktionen zum Überprüfen, ob ein Prozess beendet wurde:
- GetExitCodeProcess()
- if not CloseHandle() then ..;