一、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进行查看,里面有详细的说明: