Partilhar via


Função MouseProc

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 sempre que um aplicativo chama a função GetMessage ou PeekMessageA/PeekMessageW e há uma mensagem do mouse a ser processada.

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

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Parâmetros

nCode [in]

Tipo: int

Um código que o procedimento de gancho usa para determinar como processar a mensagem.

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

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

Valor Significado
HC_ACTION 0 Os parâmetros wParam e lParam contêm informações sobre uma mensagem do mouse.
HC_NOREMOVE 3 Os parâmetros wParam e lParam contêm informações sobre uma mensagem do mouse e a mensagem do mouse não foi removida da fila de mensagens. (Um aplicativo chamado função PeekMessage , especificando o sinalizador PM_NOREMOVE .)

wParam [in]

Tipo: WPARAM

O identificador da mensagem do mouse.

lParam [in]

Tipo: LPARAM

Um ponteiro para uma estrutura MOUSEHOOKSTRUCT .

Retornos

Tipo: LRESULT

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

Se nCode 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 que instalaram ganchos de WH_MOUSE 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 procedimento de janela de destino.

Comentários

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

O procedimento de gancho não deve instalar uma função de retorno de chamada WH_JOURNALPLAYBACK.

Esse gancho pode ser chamado no contexto do thread que o instalou. A chamada é feita enviando uma mensagem para o thread que instalou o gancho. Portanto, o thread que instalou o gancho deve ter um loop de mensagem.

Confira também

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

SetWindowsHookEx

Ganchos

Sobre ganchos