Entwickler-Ecke

Windows API - Schließen eines (Konsolen-)Fenster über "X" mitbekommen


Mister Riös - So 02.05.10 01:04
Titel: Schließen eines (Konsolen-)Fenster über "X" mitbekommen
Hi,
ich habe eine Konsolenprogramm das eigentlich beim schließen einige Dateien löschen soll. Dafür hab ich schon die Befehle, nur werden die logischer Weise nur ausgeführt, wenn man das Programm bis zum Ende durchgeht, d.H. der User sollte das Programm nicht z.B. über das "X" oben rechts oder Rechtsklick auf den Task->Schließen beenden.
Da aber genau das schneller geht uns für den User direkt keine Nachteile dadurch entstehen, wird er das Programm nicht beenden, in dem er den Befehl dazu im Programm selbst gibt.
Jetzt meine Frage: Kann ich noch Befehle ausführen, wenn das "X" gedrückt wird? Also quasi das Schließen abfangen, meine Dateien löschen, dann beenden.

Danke schon mal.


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 02.05.2010 um 12:51
Moderiert von user profile iconNarses: Titel erweitert.


Delete - So 02.05.10 01:27

Du müsstest auf das Schließen des Konsolenfensters reagieren. Leider weiß ich da jetzt auch keine Möglichkeit.


jaenicke - So 02.05.10 10:11

Das geht recht einfach mit SetConsoleCtrlHandler und dort bekommst du das CTRL_CLOSE_EVENT, ich hab grad mal 10 Sekunden Google bemüht: ;-)
http://msdn.microsoft.com/en-us/library/ms686016(VS.85).aspx