求一个简单的消息钩子
例如我要钩了记事本的鼠标点击消息
那应该怎么写呢?

解决方案 »

  1.   

    提供一种思路:
    用全局钩子钩住鼠标的点击消息,然后在判断的回调函数里用
    GetForegroundWindow
    getwindowtext
    getwindowrect
    getwindowpos
    GetCursorPos
    函数判断是否是在是在记事本里的点击,呵呵不过这种方法好麻烦的:)
      

  2.   

    当然,你可以上网找个实现跨进程子类化的DLL,也可以实现。不知道VB能不能不用DLL实现跨进程子类化,起码我不会。
      

  3.   

    其实,思路这样的话比较简单实现你要钩掉NOTEPAD的,在NOTEPAD为前端窗口的时候把鼠标位置判断一下是否在当前的NOTEPAD的RECT里面,如果鼠标位置在里面就吃掉WM_CLICK之类的消息。这样要做的东西就少的多。
      

  4.   

    可以,我有。正好那例子也是处理记事本上添加菜单的。留MAIL吧。
      

  5.   


    老马也给我发个吧,呵呵研究下:)
    [email protected]
      

  6.   

    那个DLL我也有了,也是老马大哥发我的,呵呵
    但是我想用HOOK做,可以吗?
      

  7.   

    实现效果即可,为什么要用另外的方案呢.反正都要使用DLL...
      

  8.   

    老马,那个代码我也要 嘿嘿 谢谢 [email protected]