Não recebendo WM_COMMAND no loop GetMessage

Alguém poderia explicar por que eu nunca recebo umWM_COMMAND mensagem no meu loop GetMessage?
Eu verifiquei e o WndProc está recebendo oWM_COMMAND mensagem, então estou muito confuso porque isso não funciona.

while (GetMessage(&msg, NULL, 0, 0) != 0)
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);

    if (msg.message == WM_COMMAND)
    {
        // This never happens:
        MessageBox(NULL, "WM_COMMAND", "WM_COMMAND", MB_OK);
    }
}

SO: Windows 8

questionAnswers(1)

yourAnswerToTheQuestion