HHOOK
WINAPI
SetWindowsHookExW(
_In_ int idHook,
_In_ HOOKPROC lpfn,
_In_opt_ HINSTANCE hmod,
_In_ DWORD dwThreadId);
WINUSERAPI
BOOL
WINAPI
UnhookWindowsHookEx(
_In_ HHOOK hhk);
WINUSERAPI
LRESULT
WINAPI
CallNextHookEx(
_In_opt_ HHOOK hhk,
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam);
钩子类型:
1.WH_CALLWNDPROC只能用于监视窗体消息,不能更改消息
2.WH_CALLWNDPROCRET,监视处理后的窗体消息
3.WH_CBT获得重要的系统通知消息,如最小化最大化,设置键盘焦点之前等等
4.WH_DEBUG调试消息
5.WH_GETMESSAGE当使用GETMESSAGE和PEEKMESSAGE后的消息
6.WH_KEYBOARD监视WM_KEYDOWN和WM_KEYUP消息
7.WH_KEYBOARD_LL监视用于投递到线程前的键盘消息
8.WH_MOUSE监视鼠标消息
9.WH_SYSMSGFILTER监视系统中任意对话框,消息框,菜单,滚动条