您的位置:首页 > 其它

windows Hook 消息分类

2016-07-02 11:04 204 查看
调用SetWindowsHookEx的DLL的模块实例句柄,它可以经由DllMain入口的第一个参数得到。
HHOOK SetWindowsHookEx( int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId);

至于SetWindowsHookEx的第四个参数dwThreadId,才是你需要借由窗口句柄得到的窗口线程ID,

你可以通过下面的代码获得:

DWORD dwThreadID = GetWindowThreadProcessId(hwnd, NULL);

选择相应的消息钩子,比如

WH_CALLWNDPROC//监视到达窗口前的消息
WH_CALLWNDPROCRET//监视窗口处理后的消息
WH_DEBUG//监视系统调用其他HOOK关联的HOOK子程
WH_GETMESSAGE//监视发送到窗体消息队列里的消息
WH_JOURNALPLAYBACK//全局HOOK,可以插入消息到消息队列
WH_JOURNALRECORD//全局HOOK,监视输入事件(键盘、鼠标等)
WH_KEYBOARD//键盘钩子
WH_MOUSE//鼠标钩子
WH_MSGFILTER//监视菜单、滚动条、消息框、对话框消息和切换窗口的组合键(Alt+Tab等)
WH_SHELL//接收系统中重要的通知(如窗口被产生、摧毁等)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: