vb.net中的钩子是指的什么东西

今年刚学的vb.net,我看到要好多人都提到了钩子,请问下什么是钩子呢,他都能干什么呢,请各位专家指点下

简单来说,钩子(Hook)就是允许你在现有的系统中扩展你自己的处理代码。因为每个这样的处理程序在处理完自身后,又将控制权转移给下一个调用者,直至操作系统,很像钩子一样,顾名思义得到这个词。

最常用的钩子是windows中的键盘鼠标钩子和日志钩子,可以用来做键盘拦截和鼠标拦截,很多做网游外挂的人用它。

VB6时代还有一种技术,就是通过拦截windows消息,来改变窗口控件的一些行为。这个其实不叫钩子,而是叫窗口子类化(window subclassing)
但是VB.NET不需要这么做,因为你只要重写WndProc就可以了。

windows的应用程序都是基于消息驱动的,应用程序的操作都依赖于它所得到的消息的类型及内容。钩子与dos中断截获处理机制有类似之处。钩子(hook)是windows消息处理机制的一个平台,通过安装各种钩子,应用程序可以在上面设置子程序以监视指定窗口的某种消息,并且当消息到达目标窗口之前处理它。
参考文档:http://www.west.cn/www/info/23878-1.htm

基本的解决问题的方案,Baidu/Bing 搜索引擎大法。
请 Baidu:钩子 HOOK