Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 .