Compartilhar via


Função MessageProc

Descrição

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 depois que um evento de entrada ocorre em uma caixa de diálogo, caixa de mensagem, menu ou barra de rolagem, mas antes que a mensagem gerada pelo evento de entrada seja processada. O procedimento de gancho pode monitorar mensagens para uma caixa de diálogo, caixa de mensagem, menu ou barra de rolagem criada por um aplicativo específico ou todos os aplicativos.

O tipo HOOKPROC define um ponteiro para essa função de retorno de chamada. MessageProc é um espaço reservado para o nome da função definida pelo aplicativo ou pela biblioteca.

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

Parâmetros

code [in]

Tipo: int

O tipo de evento de entrada que gerou a mensagem.

Se o código for menor que zero, o procedimento de gancho deverá passar a mensagem para a função CallNextHookEx sem processamento adicional e retornar o valor retornado por CallNextHookEx.

Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
MSGF_DDEMGR 0x8001 O evento de entrada ocorreu enquanto a DDEML (Dynamic Data Exchange Management Library) aguardava a conclusão de uma transação síncrona. Para obter mais informações sobre DDEML, consulte Dynamic Data Exchange Management Library.
MSGF_DIALOGBOX 0 O evento de entrada ocorreu em uma caixa de mensagem ou caixa de diálogo.
MSGF_MENU 2 O evento de entrada ocorreu em um menu.
MSGF_SCROLLBAR 5 O evento de entrada ocorreu em uma barra de rolagem.

wParam

Tipo: WPARAM

Este parâmetro não é usado.

lParam [in]

Tipo: LPARAM

Um ponteiro para uma estrutura MSG .

Retornos

Tipo: LRESULT

Se o código for menor que zero, o procedimento de gancho deverá retornar o valor retornado por CallNextHookEx.

Se o código for maior ou igual a zero e o procedimento de gancho não processar a mensagem, é altamente recomendável que você chame CallNextHookEx e retorne o valor retornado; caso contrário, outros aplicativos instalados WH_MSGFILTER ganchos não receberão notificações de gancho e poderão se comportar incorretamente como resultado. Se o procedimento de gancho tiver processado a mensagem, ele poderá retornar um valor diferente de zero para impedir que o sistema passe a mensagem para o restante da cadeia de ganchos ou o procedimento da janela de destino.

Comentários

Um aplicativo instala o procedimento de gancho especificando o tipo de gancho WH_MSGFILTER e um ponteiro para o procedimento de gancho em uma chamada para a função SetWindowsHookExA/SetWindowsHookExW .

Se um aplicativo que usa o DDEML e executa transações síncronas precisar processar mensagens antes de serem expedidas, ele deverá usar o gancho de WH_MSGFILTER .

Confira também

CallNextHookEx

SetWindowsHookEx

MSG

Ganchos