So, ich habs jetzt so gemacht, wie Khabarakh vorgeschlagen hat, mit dem Shutdown-Flag. Zu Sicherheit wird auch noch eine 1 zurückgegeben in der Fensterprozedur (auch wenn das durch den Basisaufruf ohnehin passieren sollte, aber sicher ist sicher).
Code:
const int WM_QUERYENDSESSION = 0x11;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_QUERYENDSESSION) {
m.Result = new IntPtr(1); // signal windows to proceed
endSession = true; // set flag that closing of form shouldn't be declined
}
base.WndProc(ref m);
}
So funktioniert das ganz gut
Danke an alle!