O GetMessage função recupera uma mensagem a partir fila de mensagens do segmento chamado e coloca-a na estrutura especificada. Essa função pode recuperar as duas mensagens associadas com uma janela especificada e thread mensagens postadas por meio do PostThreadMessage função. A função recupera mensagens que reside dentro de um intervalo especificado de valores de mensagem. GetMessage não recuperar mensagens para janelas que pertencem a outros segmentos ou aplicativos.
(BOOL GetMessage LPMSG lpMsg, / / endereço da estrutura com mensagemHWNDhWnd, / / identificador da janelaUINTwMsgFilterMin, / / primeiro mensagemUINTwMsgFilterMax / / última mensagem);
Valor | Significado |
---|---|
NULO | GetMessage recupera mensagens para qualquer janela que pertence ao thread de chamada e thread postada para o thread de chamada através de PostThreadMessage. |
Se a função recupera uma mensagem diferente WM_QUIT, o valor de retorno é diferente de zero.
Se a função recupera a mensagem WM_QUIT, o valor de retorno é zero.
Se houver um erro, o valor de retorno é -1. Por exemplo, a função falhará se hWnd é um inválido identificador janela ou lpMsg é um inválido ponteiro. Para informações de erro estendidas get, chamar GetLastError.
Um aplicativo normalmente usa o valor de retorno para determinar se deve terminar o loop de mensagem principal e sair do programa.
O GetMessage função somente recupera mensagens associado com a janela identificada pelo hWnd parâmetro ou qualquer um de seus filhos, conforme especificado pelo IsChild função e dentro do intervalo de valores mensagem fornecidos pelo wMsgFilterMin e wMsgFilterMax parâmetros. Se hWnd é NULL, GetMessage recupera mensagens para qualquer janela que pertence ao thread de chamada e thread postada para o thread de chamada através de PostThreadMessage. GetMessage não recuperar mensagens para janelas que pertencem a outros threads nem para segmentos diferente do segmento chamado, mesmo se hWnd não é NULL. Rosca mensagens, publicadas pela PostThreadMessage função, têm um mensagem hWnd valor de NULL. Se wMsgFilterMin e wMsgFilterMax são ambos zero, GetMessage retorna disponível todas as mensagens (ou seja, nenhum intervalo filtragem é executada).
As constantes WM_KEYFIRST e WM_KEYLAST podem ser usadas como valores de filtro para recuperar todas as mensagens relacionadas com a entrada do teclado; as constantes WM_MOUSEFIRST e WM_MOUSELAST podem ser usadas para recuperar todas as mensagens mouse. Se wMsgFilterMin e wMsgFilterMax parâmetros são dois zero, a função GetMessage retorna todas as mensagens disponíveis (isto é, sem executar qualquer filtragem).
GetMessage remover não WM_PAINT as mensagens da fila. As mensagens permanecem na fila até que processados.
Observe que o valor de retorno de função pode ser diferente de zero, zero, ou -1. Assim, você deve evitar o código como este:
ao mesmo tempo (GetMessage (lpMsg, hWnd, 0, 0))...
A possibilidade de um valor de retorno de-1 significa que esse código pode levar a erros de aplicativo fatal.
nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows NT.
Visão geral de filas de mensagens e mensagens, mensagens e funções de fila de mensagem, IsChild, MSG, PeekMessage, PostMessage, PostThreadMessage, WaitMessage