Udostępnij przez


GetMsgProc, funkcja

Opis

Zdefiniowana przez aplikację lub zdefiniowana w bibliotece funkcja wywołania zwrotnego używana z funkcją SetWindowsHookExA/SetWindowsHookExW . System wywołuje tę funkcję za każdym razem, gdy funkcja GetMessage lub PeekMessageA/PeekMessageW pobrała komunikat z kolejki komunikatów aplikacji. Przed zwróceniem pobranego komunikatu do obiektu wywołującego system przekazuje komunikat do procedury haka.

Typ HOOKPROC definiuje wskaźnik dla tej funkcji wywołania zwrotnego. GetMsgProc jest symbolem zastępczym nazwy funkcji zdefiniowanej przez aplikację lub biblioteki.

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

Parametry

kod [in]

Typ: int

Określa, czy procedura haka musi przetworzyć komunikat. Jeśli kod jest HC_ACTION, procedura haka musi przetworzyć komunikat. Jeśli kod jest mniejszy niż zero, procedura haka musi przekazać komunikat do funkcji CallNextHookEx bez dalszego przetwarzania i powinna zwrócić wartość zwróconą przez callNextHookEx.

wParam [in]

Typ: WPARAM

Określa, czy komunikat został usunięty z kolejki. Ten parametr może być jedną z następujących wartości.

Wartość Meaning
PM_NOREMOVE 0x0000 Komunikat nie został usunięty z kolejki. (Aplikacja o nazwie funkcja PeekMessage , określająca flagę PM_NOREMOVE ).
PM_REMOVE 0x0001 Komunikat został usunięty z kolejki. (Aplikacja o nazwie GetMessage lub nazywana funkcją PeekMessage określającą flagę PM_REMOVE ).

lParam [in]

Typ: LPARAM

Wskaźnik do struktury MSG , która zawiera szczegółowe informacje o komunikacie.

Zwraca

Jeśli kod jest mniejszy niż zero, procedura haka musi zwrócić wartość zwróconą przez callNextHookEx.

Jeśli kod jest większy lub równy zero, zdecydowanie zaleca się wywołanie metody CallNextHookEx i zwrócenie zwracanej wartości; w przeciwnym razie inne aplikacje, które zainstalowały WH_GETMESSAGE haki, nie będą otrzymywać powiadomień o haku i mogą działać nieprawidłowo w wyniku. Jeśli procedura haka nie wywołuje metody CallNextHookEx, zwracana wartość powinna być równa zero.

Uwagi

Procedura zaczepienia GetMsgProc może zbadać lub zmodyfikować komunikat.

Po powrocie kontrolki przez procedurę zaczepienia do systemu funkcja GetMessage lub PeekMessageA/PeekMessageW zwraca komunikat wraz z wszelkimi modyfikacjami aplikacji, która ją pierwotnie nazwała.

Aplikacja instaluje tę procedurę zaczepienia, określając typ haka WH_GETMESSAGE i wskaźnik do procedury zaczepienia w wywołaniu funkcji SetWindowsHookExA/SetWindowsHookExW .

Zobacz także

CallNextHookEx

GetMessage

MSG

PeekMessage

SetWindowsHookEx

Punkty zaczepienia