Fast, es ist WM_QUERYENDSESSION
Ich glaube, das bräuchte man nicht zu reimplementieren. Das Löst OnCloseQuery aus. Aber dort wird nicht unterschieden, ob es vom Anwender kommt (X oder Alt+F4) oder ob es ein Shutdown ist. Außerdem sollte man in diesem Ereignis nicht all zu lange rum machen, nur quasi schnell antworten ob ein Schliessen möglich ist oder nicht.
WM_ENDSESSION wird hingegen unter anderen Bedingungen ausgelößt und man erkennt wie gesagt an dem WPARAM der Message woher der Aufruf kommt.
Laß' die Schleife in WMEndSession weg.
Dem kann ich mich nur anschliessen. Ich würde in WM_ENDSESSION nur dafür sorgen, dass die Methode abgebrochen wird.
Gruß, Chris