学习到了勾子.
好像一种是用SetWindowsHookEx来做,一种是用callwindowproc来做,一种是勾子,一种是子类化,但看着好像子类化就是做勾子一样.可不可以这样理解,子类化是局部勾子的一种?
子类化只能处理当前进程吗?
如果要hook其他应用程序的消息就用系统勾子?上面是我的一点理解,请大侠帮我点明一些关键之际处

解决方案 »

  1.   

    子类化:拦截自己程序里头的窗口消息钩子:拦截系统中所有窗体的消息及系统消息(键盘\鼠标)回调:如果一个API函数需要返回很多消息或值的时候,明显的赋值模式(xxx = xxxx)是不够用的。那么这就需要“回调”了。你给API函数提供一个自己写的函数的地址。那么当该API需要返回一条消息时,就会调用你的函数(当然啦,你自己提供的函数的参数格式,必须与API函数所需要的一致)
      

  2.   

    高什么手...只是用搜索引擎用得多些而已...- -!现在闲下来了,我也来说说我的看法:一个窗体,可以看作一条"生产线",消息即是原料,处理消息的机器则是"消息处理过程".子类化,是班长级别,就是在原料进入生产线前先送入某道增加的工序预处理,这个预处理工序里可以决定此原料是否被送入默认的那个消息处理过程,或是丢掉;局部HOOK,是车间主任级别,就是在原料还未具体决定分配到哪条生产线前,进行预处理的工序.全局HOOK,则是厂长级别,功能与局部HOOK一样,只是能连别的车间也进行管理.回调,是一种异步通知机制,即给出任务者只需要给出某个方法,让处理任务者能通知给出任务者即可;    比如车间主任需要班长给出一个产品从原料变为成品的时间/工序数量/成本等,并不需要站在那里等,只需要给班长说一声,"俺在某处,搞定了给我",就可以闪去继续做自己的事了.