Message bei Windows Abmeldung?

Hallo!

Habe da ein Problem… habe gelesen das Windows(wenn es beendet wird) an alle noch aktiven Prozesse die WM_QUERYENDSESSION bzw WM_ENDSESSION
Message sendet… das wollte ich nutzen um beim runterfahren eine datei zu schreiben nur leider klappt das nicht so ganz da ich scheinbar die nachricht falsch abfange…

hier mal ein wenig quellcode…

BEGIN_MESSAGE_MAP(CWeckerDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_MESSAGE (WM_QUERYENDSESSION, OnUserMessage)
ON_MESSAGE (WM_ENDSESSION, OnUserMessage)
END_MESSAGE_MAP()

void CWeckerDlg::open_mouth:nUserMessage ()
{

CString NameNeueDatei = „D:\Dok\hallo.txt“;
CStdioFile file;

file.Open(NameNeueDatei, CFile::modeCreate | CFile::modeWrite);
file.WriteString(„Habe Message bekommen“);
file.Close();
}

Hatte die OnUSerMessage auch schon mal so aufgerufen(ausOnSysCommand)… da hatte sie funktioniert…

void CWeckerDlg::open_mouth:nSysCommand(UINT nID, LPARAM lParam)
{

if(nID == SC_CLOSE) //wenn prog beendet wird
{
OnUserMessage();
}

Hat jemand von euch ne Idee woran das liegen könnte??? Ich tippe mal auf die Message… bekomme Sie nicht richtig denke ich mal!

Gruß Matthias

Hallo
Die gesuchte Nachricht sollte
ON_WM_ENDSESSION
heissen
Zu finden in den Meldungen