我做的是一个exe 钩子, 只钩一个线程, setwindowshookex怎么写?

解决方案 »

  1.   

    setwindowshookex(WH_CALLWNDPROC,yourWndProc,HINSTANCE hinsiDll,ID)
    是不是?
      

  2.   

    应用程序通过调用SetWindowsHookEx()函数安装钩子函数:HHOOK SetWindowsHookEx(
      int idHook,        // type of hook to install
      HOOKPROC lpfn,     // address of hook procedure
      HINSTANCE hMod,    // handle to application instance
      DWORD dwThreadId   // identity of thread to install hook for
    );参数说明:
    lpfn   指向钩子过程的指针。如果dwThreadId等于零,或者dwThread标识的线程由另一个进程 创建,则lpfn指向的钩子必须在动态链接库中。如果dwThreadId不等于零且dwThreadId标识的线程由当前进程创建,则lpfn指向的钩子过程可以属于当前进程。
    hMod   钩子过程所在模块的句柄。如果dwThreadId不等于零且dwThreadId标识的线程由当前进程创建,且lpfn指向的钩子过程属于当前进程,那么hMod必须为零。
    dwThreadId 钩子相关线程的标识。如果想要截获发给所有线程的消息,dwThreadId必须等于零。
    idHook  想要安装的具体的钩子类型。
    由上面的说明可知,你首先确定这个线程的归属问题