大家可以测试,安装3721网络实名后,使用SPY++监视IE址址栏输入框的WM_CHAR消息,再在地址栏中输入一些字符,SPY++监测不到任何消息,卸装网络实名后,SPY++又可以监测到WM_CHAR了,请问大家这是如何实现的?

解决方案 »

  1.   

    WM_CHAR消息是当WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, WM_SYSKEYUP等虚拟键消息被TranslateMessage函数处理后,重新贴到消息队列中的消息。猜测3721可能挂住wm_keydown等消息,然后旁路了translateMessage函数的调用,所有就没有WM_CHAR消息产生了。至于把文字写到输入框里,可以发wm_settext等办法来实现。仅仅猜测,供参考。
      

  2.   

    回复上面:我用SPY++也拦不到WM_KEYDOWN消息!
      

  3.   

    键盘钩子把?处理完不调用CallNextHookEx。
    据说3721用了很底层的技术,偶也不清楚。
      

  4.   

    我觉得楼上的不太正确,因为后挂的钩子可以让先挂的钩子不响应,但是实际情况是SPY++后挂入,也就是说应该是3721响应不到消息才对,肯定是用了其他什么底层的技术(3721其实是个很可恶的东西)