钩子安装的方法有两种:一种是编写成独立的dll然后注册安装 另一种是使用SetWindowsHookEx api函数请问这两中方法有什么区别

解决方案 »

  1.   

    钩子只有一种安装方法,那就是:SetWindowsHookEx。
    但是,钩子分为两种,进程内钩子(一般是线程内钩子),只能监听本线程内的消息;
    另外一种是全局钩子,可以监听别的线程的消息。
    全局钩子,钩子函数必须在独立的DLL中,这个dll必须是标准dll,C#写的还不行。
    进程内钩子,C#通过平台调用可以使用!钩子函数所在的dll,不用注册,只要和调用程序放在同一目录下即可。
    你可以在msdn里边找到更详细的说明。