一、Hook的概念:
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。(此为百度百科的解释)
我个人的理解:就是在程序处理前,提前对程序进行一轮的处理。
二、Hook的使用(WindowsAPI):
主要是通过两个函数来进行Hook:
1.SetWindowsHookEx :安装钩子
2.UnhookWindowsHookEx:卸载钩子
以下是对于两个函数的解释:
(1).HHOOK WINAPI SetWindowsHookEx(
__in int idHook, \钩子类型
__in HOOKPROC lpfn, \回调函数地址
__in HINSTANCE hMod, \实例句柄
__in DWORD dwThreadId); \线程ID
(2).UnhookWindowsHookEx,这个参数是上一个函数SetWindowsHookEx的返回值.
三、Hook的简单应用: 这边大家可以下载我的Demo进行查看,里面有详细的说明: