Dafür benutze ich den C++Builder 6. Es muss nämlich auch unter früheren Windows-Versionen laufen...
Wenn Du aber eine Idee für VC++ hast, ist die vielleicht anwendbar...
Ein Handle auf das eigene Window zu ermittlen, dürfte eigentlich machbar sein. Mein Prg. ist ein Konsolenprogramm, aber kein reines DOS-Programm, d.h. ich kann die WindowsAPI auch nutzen.
Vielleicht kurz zur Erläuterung: Das Prg. rechnet ein paar Sekunden, dann wartet es ein paar Minuten (Sleep()) und das permanent.
Bei dem kontrollierten CTRL-C Abbruch habe ich die Funktion
signal(SIGINT, ctrlc_handling);
verwendet, die dafür sorgt, dass
die Fkt. ctrlc_handling()
automatisch angesprungen wird, sobald CTRL-C (oder ähnliches) passiert. Diese setzt dann die globale Variable DoAbort auf true. An geeigneten Stellen wird diese überprüft und, falls true, das Programm sauber beendet.
Nunja, beim Klick auf [x] oder beim Herunterfahren wird diese jedenfalls nicht angesprungen.
Grüße,
Mdl
P.S.
Aber - beim Nachschauen gerade - ist mir die Idee gekommen, mal zu prüfen, ob das vielleicht bei einem Wert ungleich SiGINT funktioniert. Ich teste das am besten gleichmal....