钩子过程必须具有以下语法:
LRESULT CALLBACK HookProc(
int nCode,
WPARAM wParam,
LPARAM lParam
)
{
//进程事件
...
返回CallNextHookEx(NULL,nCode,wParam,lParam);
}
HookProc是特定的回调函数,CallNextHookEx表示将钩子信息传递给当前钩子链中的下一个钩子过程.
LRESULT WINAPI CallNextHookEx(
_In_opt_ HHOOK hhk,
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
参数
hhk [in,可选]
类型:HHOOK
此参数被忽略。
nCode [in]
类型:int
钩子代码传递给当前的钩子过程。下一个钩子过程使用此代码来确定如何处理挂钩信息。
wParam [in]
类型:WPARAM
所述的wParam传递给当前挂钩过程值。此参数的含义取决于与当前钩链相关联的钩子类型。
lParam [in]
类型:LPARAM
所述的lParam传递给当前挂钩过程值。此参数的含义取决于与当前钩链相关联的钩子类型。
返回值
类型:LRESULT
该值由链中的下一个钩子过程返回。当前的钩子过程也必须返回此值。返回值的含义取决于钩子类型.