WM_CLOSEとWM_DESTROYとWM_QUIT [Win32SDK]

WM_CLOSE・・・Windowが消える直前。普通はここでDestroyWindow関数を呼ぶ。DestroyWindow関数がWindowを破棄した後、WM_DESTROYが送られてくる。

WM_DESTROY・・・Windowが消えた直後。通常はここでPostQuitMessage関数を呼ぶ。PostQuitMessage関数はWM_QUITをメッセージキューに入れる。GetMessage関数はWM_QUITを受け取ると0を返す。これでメッセージループから抜け出す。

WM_QUIT・・・WinMainの戻り値はメッセージループがあるときはWM_QUITのwParamを返すべきです。(メッセージループがないときは0を返すべき)