我是靠谱客的博主 忧虑奇迹,这篇文章主要介绍Hook使用方法,现在分享给大家,希望可以做个参考。

大致步骤如下:

1、安装一个鼠标监视钩子

2、指向相应的钩子过程
3、指定线程由当前进程创建

4、指定于钩子过程相关的线程ID

需要函数:

复制代码
1
2
3
4
5
6
HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hook procedure HINSTANCE hMod, // handle tapplication instance DWORD dwThreadId // thread identifier );

具体步骤:

1、定义**钩子变量,窗口钩子的句柄,以及钩子函数的定义:这里只写了鼠标钩子和键盘钩子

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
HHOOK g_hMouse = NULL;//全局变量,用来保存SetWindowsHookEx返回的句柄 HHOOK g_hKeyboard = NULL; HWND g_hWnd = NULL; LRESULT CALLBACK MouseProc(int nCode,WPARAM wParam,LPARAM lParam) { return 1; } LRESULT CALLBACK KeyBoardProc(int nCode,WPARAM wParam,LPARAM lParam) { // if (VK_SPACE == wParam || VK_RETURN == wParam) /* if (VK_F4 == wParam && (1 == (lParam>>29 & 1 ))) { return 1; } else return CallNextHookEx(g_hKeyboard,nCode,wParam,lParam);*/ if (VK_F2 == wParam) { ::SendMessage(g_hWnd,WM_CLOSE,0,0); UnhookWindowsHookEx(g_hKeyboard); UnhookWindowsHookEx(g_hMouse); } return 1; }

2、启动钩子:在源文件中写上以下代码

复制代码
1
2
3
4
5
6
7
g_hWnd = m_hWnd; g_hMouse = SetWindowsHookEx(WH_MOUSE,MouseProc,NULL,GetCurrentThreadId()); //安装一个鼠标监视钩子 //指向相应的钩子过程 //指定线程由当前进程创建 //指定于钩子过程相关的线程ID g_hKeyboard = SetWindowsHookEx(WH_KEYBOARD,KeyBoardProc,NULL,GetCurrentThreadId());

最后

以上就是忧虑奇迹最近收集整理的关于Hook使用方法的全部内容,更多相关Hook使用方法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部