Função GetMsgProc
Uma função de retorno de chamada definida pelo aplicativo ou definida pela biblioteca usada com a função SetWindowsHookExA/SetWindowsHookExW. O sistema chama essa função sempre que a função GetMessage ou PeekMessageA/PeekMessageW recuperar uma mensagem de uma fila de mensagens do aplicativo. Antes de retornar 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 retorno de chamada. GetMsgProc é um espaço reservado para o nome da função definida pelo aplicativo ou pela biblioteca.
LRESULT CALLBACK GetMsgProc(
_In_ int code,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
Digite: int
Especifica se o procedimento de gancho deve processar a mensagem. Se code for HC_ACTION, o procedimento de gancho deverá processar a mensagem. Se code for menor que zero, o procedimento de gancho deve passar a mensagem para a função CallNextHookEx sem processamento adicional e deve retornar o valor retornado por CallNextHookEx.
Tipo: WPARAM
Especifica se a mensagem foi removida da fila. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
PM_NOREMOVE 0x0000 | A mensagem não foi removida da fila. (Um aplicativo chamou a função PeekMessage, especificando o sinalizador PM_NOREMOVE.) |
PM_REMOVE 0x0001 | A mensagem foi removida da fila. (Um aplicativo chamou a função GetMessage ou PeekMessage, especificando o sinalizador PM_REMOVE.) |
Tipo: LPARAM
Um ponteiro para uma estrutura MSG que contém detalhes sobre a mensagem.
Se code for menor que zero, o procedimento de gancho deverá retornar o valor retornado por CallNextHookEx.
Se code for maior ou igual a zero, é altamente recomendável que você chame CallNextHookEx e retorne o valor que ele retorna, caso contrário, outros aplicativos que instalaram ganchos WH_GETMESSAGE não receberão notificações de gancho e poderão se comportar incorretamente como resultado. Se o procedimento de gancho não chamar CallNextHookEx, o valor retornado deverá ser zero.
O procedimento de gancho GetMsgProc pode examinar ou modificar a mensagem.
Depois que o procedimento de gancho retorna o controle para o sistema, a função GetMessage ou PeekMessageA/PeekMessageW retorna a mensagem, juntamente com quaisquer modificações, para o aplicativo que a chamou originalmente.
Um aplicativo instala este procedimento de gancho especificando o tipo de gancho WH_GETMESSAGE e um ponteiro para o procedimento de gancho em uma chamada para a função SetWindowsHookExA/SetWindowsHookExW.