Windows在退出前,会向所有的程序发一个WM_QUERYENDSESSION,如果程序愿意终止运行的话,在收到消息后就返回TRUE,它就会收到一个WM_ENDSESSION消息然后就终止运行了。在Windows 95/98下,Windows要等到所有的程序对WM_QUERYENDSESSION消息返回TRUE之后才发WM_ENDSESSION,而在NT中,只要有一程序对WM_QUERYENDSESSION消息返回TRUE,它就会被终止。