BOOL installhook()
... {
HINSTANCE hins=AfxGetInstanceHandle();
HHOOK Hook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)KeyboardProc,hins,0);
return (BOOL)Hook;
}
... {
HINSTANCE hins=AfxGetInstanceHandle();
HHOOK Hook = SetWindowsHookEx(WH_KEYBOARD_LL,(HOOKPROC)KeyboardProc,hins,0);
return (BOOL)Hook;
}
第一句是获得当前应用实例的句柄。
第二句是创建钩子,第一个参数WH_KEYBOARD_LL说明这是一个“low-level keyboard Hook”,可以截获系统热键的消息。最后一个参数0指定钩子截获所有进程的消息,也就是一个全局钩子。
LRESULT CALLBACK KeyboardProc(
int
nCode,WPARAM wParam,LPARAM lParam)