Anwendung von der Beendigung von Windows benachrichtigen

  • Auswerten der Windowsmessage WM_QUERYENDSESSION, die vom System vor dem Herunterfahren an alle Applikationen gesendet wird
  • Sobald diese Message empfangen wird, muss sich die Anwendung z.B. mit Close(); beenden, damit wird auch der Destruktor ordnungsgemass aufgerufen
// *.h: 

protected:
BEGIN_MESSAGE_MAP

    VCL_MESSAGE_HANDLER(WM_QUERYENDSESSION, TMessage, OnShutdown)

END_MESSAGE_MAP(TForm)

void __fastcall OnShutdown(TMessage & Msg);

...

// *.cpp: 

void __fastcall TForm1::OnShutdown(TMessage &Msg)
{
    // irgenwelcher Code, z.b: offene Dateien schließen

    TObject:: Dispatch(&Msg);
    Close();
}