各位大侠,问一个初级问题,谁能给我建议下hook的原理后应用?(50分)

  • 主题发起人 主题发起人 apartment
  • 开始时间 开始时间
看一下《delphi4开发大全》吧!
 
Copy<br>&nbsp; HOOK中文意思就是““钩子””的意思。这种函数是Windows消息处理机制的一部<br>分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在<br>正常情况下无法访问的消息。当然,这么做也是需要付出一定的代价的。由于多了这<br>么一道处理过程,系统性能会受到一定的影响,所以在必要的时候才使用“钩子”,<br>并在使用完毕及时将其删除。<br>&nbsp; 钩子是微软消息处理机制的一种,通过钩子应用程序可以安装一个小程序或子程序<br>来监视系统中消息的传递,你可在消息到达窗口过程前处理其他的消息。<br>&nbsp; 讲到钩子先说一下钩子链。系统中包含了不同种类的钩子,每种钩子有自己独有的<br>功能,而且每种钩子提供一种WINDOWS系统消息处理机制不同方向的通道。钩子链是<br>系统为每一种钩子方便管理而建立的一种链,他是一个回调函数的指针列表。钩子的<br>操作取决于钩子的类型,有的钩子只能监视,而有的钩子可以修改和停止他们在链中<br>的进程、禁止他们到达下一个钩子过程或目的窗口。<br> 有一点是在编程当中要非常注意的。用钩子要注意快进快出,所谓快进快出就是当<br>用到钩子的时候安装,不用的时候删除,以防止钩子影响系统的正常工作。<br><br>在待答问题里的第二或三页上有个键盘Hook的贴子去看下,那里有个键盘Hook应用
 
fudei能不能讲一下局部hook和重载消息有什么区别?
 
我也想知道
 
我也想知道<br>
 
通俗讲, hook就是插队者. 它插到消息队列里, 将本来应该发送给别人的消息先偷看一番<br>(也可能大肆改动), 然后再交给原来的主人.<br>局部hook和消息重载没区别.<br>Delphi的消息重载机制就是一个局部hook
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
826
DelphiTeacher的专栏
D
D
回复
0
查看
776
DelphiTeacher的专栏
D
D
回复
0
查看
857
DelphiTeacher的专栏
D
后退
顶部