Wobei TerminateProcess schon wirklich rabiat ist, das ist als würde man ihn hinterrücks erschießen - Der Prozess sieht es nicht kommen und kann darauf nicht mehr reagieren. Da du erst mit EnumWindows hantiert hast - vielleicht möchtest du den Prozess eher freundlich beenden? Dann könntest du nach seinem Fenster suchen und ihm eine
WM_CLOSE
-Nachricht senden.
Ob einem das Wissen, wie die .exe-Datei nun heißt überhaupt weiterhilft... Ich glaube nicht. Ich habe bislang immer externe Programme mittels
CreateProcess
gestartet und am Schluss eine
WM_CLOSE
geschickt. Waren sie nach einer Zeitspanne immer noch da, weitere
WM_CLOSE
. Waren sie dann immer noch da, wurde das sofortige Todesurteil mittels
TerminateProcess
vollstreckt.