Partilhar via


Função GetMsgProc

Description

Uma função de callback definida por aplicação ou biblioteca usada com a função SetWindowsHookExA/SetWindowsHookExW . O sistema chama esta função sempre que a função GetMessage ou PeekMessageA/PeekMessageW recuperou uma mensagem da fila de mensagens de uma aplicação. Antes de devolver a mensagem recuperada ao chamador, o sistema passa a mensagem para o procedimento de gancho.

O tipo HOOKPROC define um ponteiro para esta função de callback. GetMsgProc é um marcador de posição para o nome da função definida pela aplicação ou pela biblioteca.

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Parâmetros

código [em]

Tipo: int

Especifica se o procedimento de hook deve processar a mensagem. Se o códigofor HC_ACTION, o procedimento de gancho deve processar a mensagem. Se o código for inferior a zero, o procedimento de hook deve passar a mensagem para a função CallNextHookEx sem processamento adicional e deve devolver o valor devolvido pelo CallNextHookEx.

wParam [em]

Tipo: WPARAM

Especifica se a mensagem foi removida da fila. Este parâmetro pode ser um dos seguintes valores.

Valor Meaning
PM_NOREMOVE 0x0000 A mensagem não foi removida da fila. (Uma aplicação chamada função PeekMessage , que especifica a PM_NOREMOVE flag.)
PM_REMOVE 0x0001 A mensagem foi removida da fila. (Uma aplicação chamada GetMessage, ou chamada função PeekMessage , especificando a PM_REMOVE flag.)

IParam [em]

Tipo: LPARAM

Um apontador para uma estrutura MSG que contém detalhes sobre a mensagem.

Devoluções

Se o código for inferior a zero, o procedimento de hook deve devolver o valor devolvido pelo CallNextHookEx.

Se o código for maior ou igual a zero, é altamente recomendado que contacte a CallNextHookEx e devolva o valor que ele devolve; caso contrário, outras aplicações que tenham instalado WH_GETMESSAGE hooks não receberão notificações de hook e podem comportar-se incorretamente como resultado. Se o procedimento de hook não chamar o CallNextHookEx, o valor de retorno deve ser zero.

Observações

O procedimento de gancho GetMsgProc pode examinar ou modificar a mensagem.

Depois de o procedimento de gancho devolver o controlo ao sistema, a função GetMessage ou PeekMessageA/PeekMessageW devolve a mensagem, juntamente com quaisquer modificações, à aplicação que originalmente a chamou.

Uma aplicação instala este procedimento de hook especificando o tipo de hook WH_GETMESSAGE e um ponteiro para o procedimento hook numa chamada à função SetWindowsHookExA/SetWindowsHookExW .

Consulte também

CallNextHookEx

GetMessage

MSG

PeekMessage

SetWindowsHookEx

Hooks