PeekMessage

A PeekMessage função verifica uma fila de mensagens segmento para uma mensagem e coloca a mensagem (se houver) na estrutura especificada.

(BOOL PeekMessage LPMSG  lpMsg, / / ponteiro para estrutura de mensagemHWNDhWnd, / / identificador para janelaUINTwMsgFilterMin, / / primeiro mensagemUINTwMsgFilterMax, / / última mensagemUINTwRemoveMsg / / remoção de bandeiras);
 

Parâmetros

lpMsg
Ponteiro para um MSG estrutura que recebe informações mensagem.
hWnd
Identificador para a janela cujas mensagens devem ser examinados.
wMsgFilterMin
Especifica o valor da primeira mensagem no intervalo de mensagens a ser examinado.
wMsgFilterMax
Especifica o valor da última mensagem no intervalo de mensagens a ser examinado.
wRemoveMsg
Especifica como as mensagens são manipuladas. Este parâmetro pode ser uma dos seguinte valores:
Valor Significado
PM_NOREMOVE Mensagens não são removidas da fila após processamento por PeekMessage.
PM_REMOVE Mensagens são removidas da fila após processamento por PeekMessage.

Opcionalmente, você pode combinar o valor PM_NOYIELD com PM_NOREMOVE ou PM_REMOVE. Este sinalizador impede que o sistema liberando qualquer thread que está aguardando que o chamador para ficar ocioso (ver WaitForInputIdle).

Por padrão, todos os tipos de mensagens são processados. Para especificar que somente determinada mensagem deve ser processada, especifique um ou mais dos seguintes valores:
Valor Significado
PM_QS_INPUT Windows NT 5.0 e o Windows 98: Processar mensagens de mouse e teclado.
PM_QS_PAINT Windows NT 5.0 e o Windows 98: Processar mensagens de pintura.
PM_QS_POSTMESSAGE Windows NT 5.0 e o Windows 98: Processar todas as mensagens postadas, incluindo temporizadores e teclas de atalho.
PM_QS_SENDMESSAGE Windows NT 5.0 e o Windows 98: Processar todas as enviadas mensagens.

Retornar valores

Se uma mensagem estiver disponível, o valor de retorno é diferente de zero.

Se nenhuma mensagem estiver disponível, o valor de retorno é zero.

Observações

Ao contrário o GetMessage função, a PeekMessage função não aguarda uma mensagem para ser colocada na fila antes de retornar.

PeekMessage recupera apenas as mensagens associadas com a janela identificada pelo hWnd parâmetro ou qualquer um de seus filhos como especificado pelo IsChild função e dentro do intervalo de valores mensagem fornecidos pelo wMsgFilterMin e wMsgFilterMax parâmetros. Se hWnd é NULL, PeekMessage recupera mensagens para qualquer janela que pertence ao thread atual fazendo a chamada. (PeekMessage não recuperar mensagens para janelas que pertencem a outros threads.) Se hWnd é – 1, PeekMessage retornará somente mensagens com um hWnd NULL, conforme publicado pela PostThreadMessage função. Se wMsgFilterMin e wMsgFilterMax são ambos zero, PeekMessage retornará todas as mensagens disponíveis (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 do teclado; as constantes WM_MOUSEFIRST e WM_MOUSELAST podem ser usadas para recuperar todas as mensagens de mouse.

A PeekMessage função normalmente não remove mensagens WM_PAINT da fila. WM_PAINT as mensagens permanecem na fila até que eles são processados. No entanto, se uma mensagem WM_PAINT tem uma região atualização nula, PeekMessage removê-lo da fila.

Windows CE: WM_PAINT mensagens com uma região de atualizar nulo não são removidas da fila.

QuickInfo

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.

Ver também

Visão geral de filas de mensagens e mensagens, mensagens e funções de fila de mensagem, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

Index