Hallo,
wenn Du externe Programme überwachen willst, dann musst Du ja auf alle Fälle auch ihre Handels kennen. Und wenn Du die schon weißt, dann wäre es wohl das einfachste, z.B. alle 0,5sec mittels der FindWindow-Funktion auch mal nachzufragen, ob sie denn überhaupt noch existieren. Bezüglich der CPU-Belastung dürfte das jedenfalls völlig vernachlässigbar sein.
Eine andere Möglichkeit wäre event. noch per CBTProc (siehe
PSDK) nach irgendwelchen Windows Ausschau zu halten, die gerade zerstört werden.
Oder Du versuchst dafür einen globalen Hook einzusetzen, was aber wohl die aufwändigste Lösung wäre.