我本来想通过SetWindowsHookEx等钩子方式来解决,结果发现,他们只能在本窗口激活的情况下,才能捕获这些消息。
请问,有什么方式可以捕获系统所有的这类消息。
当前SetWindowsHookEx(WH_KEYBOARD,(HOOKPROC)KeyboardProc,hins,0);或者SetWindowsHookEx(WH_MOUSE,(HOOKPROC)MouseProc,hins,0);

解决方案 »

  1.   

    设置全局的Hook,放到dll中实现就可以实现你的功能了。
      

  2.   

    用这种方法应该可以哦!!你的钩子过程是不是写在DLL中的??是的话,应该是可以的哦!
      

  3.   

    不好意思,是我自己弄错了,当时我是SetWindowsHookEx后,然后在关联的hook 处理函数里面设断点想跟踪,没有跟踪到,误以为没有捕获到这个消息,其实是因为setwindowhookex后,dll被注入了目标进程空间,本进程是没办法跟踪到的(不过,它确实执行,只是我们设断点没用,如果在hook处理函数里面加上log信息到硬盘,就可以明明白白看到执行过)。
    谢谢大家踊跃回答哈,谢了!