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.
Manche Prozesse wollen es ja nicht kommen sehen und sind penetrant. Ich habe das in ein Fahre den PC herunter Programm reinmachen müssen, da das manche Prozesse blockierten, weil die sich für wichtig halten