HOOK的步骤

详见:http://www.microsoft.com/china/community/program/originalarticles/techdoc/hook.mspx


HHOOK SetWindowsHookEx(
    int idHook,     // 钩子的类型,即它处理的消息类型
    HOOKPROC lpfn,  // 钩子子程的地址指针。如果dwThreadId参数为0
                    
// 或是一个由别的进程创建的线程的标识,
                    
// lpfn必须指向DLL中的钩子子程。
                    
// 除此以外,lpfn可以指向当前进程的一段钩子子程代码。
                    
// 钩子函数的入口地址,当钩子钩到任何消息后便调用这个函数。
    HINSTANCE hMod,    // 应用程序实例的句柄。标识包含lpfn所指的子程的DLL。
                    
// 如果dwThreadId 标识当前进程创建的一个线程,
                    
// 而且子程代码位于当前进程,hMod必须为NULL。
                    
// 可以很简单的设定其为本应用程序的实例句柄。
    DWORD dwThreadId);// 与安装的钩子子程相关联的线程的标识符。
                      
// 如果为0,钩子子程与所有的线程关联,即为全局钩子。

全局钩子,即最末的参数为0。

全局钩子只能以DLL的形式存在,由其他程序载入。

原文地址:https://www.cnblogs.com/mumuliang/p/2553788.html