在程序中用
SetWindowsHookEx(WH_MOUSE,@MouseHookProc,HInstance,0);
后,在MouseHookProc不能感应到程序的鼠标消息
而用SetWindowsHookEx(WH_MOUSE,@MouseHookProc,HInstance,GetCurrentThreadId);
安装钩子后才能在MouseHookProc获取鼠标消息,
以前是用在dll中用SetWindowsHookEx(WH_MOUSE,@MouseHookProc,HInstance,0);可以用,
现在作成进程级别的钩子却发现如题的问题,
请教为什么和解决方法,谢谢

解决方案 »

  1.   

    先采用全句钩子,在dll中用
    hook:=SetWindowsHookEx(WH_MOUSE,@MouseHookProc,HInstance,0);
    但是发现只有当安装该钩子的程序处于激活状态的时候才能拦截所有的鼠标事件,
    一但有其他的程序处于当前激活状态,则拦截不到鼠标事件,
    请问不是说全局钩子,全部拦截吗?
    还有就是我想监测第三方的程序鼠标事件怎么处理(当全局钩子安装还是不能拦截之后还有什么新的好方法吗?)
    如果有人回答出来,将分数提升到100
      

  2.   

    你知道你为什么不行吗?是因为你钩错了消息。你WH_JOURNALRECORD钩子就可以了。