![]() |
久久建筑网(m.kkreddy.com)致力打造一个专业的建筑学习分享平台! | 用户登录 免费注册 | 投诉举报 | 会员中心 | 上传资料 |

Delphi_中的消息钩子函数和Windows子类处理x.doc
资料评价:
暂无
生成时间:
2021-06-16
下载权限:
免费会员
文件大小:
26KB
文件类型:
.doc
浏览次数:
2
建筑论坛:
上传会员:
ottis
所属栏目:
网络技术
下载地址:
资料是由会员“ottis”上传到本平台,如有不妥请联系客服。违规侵权投诉
Delphi_中的消息钩子函数和Windows子类处理x,Delphi 相关的函数资料学习。
首先我们先看一下安装的函数:$·‘“〈《「『【〔〖〝┅纾郏?¨°·ˇˉā薄搿洹濉妗谩ⅰ!ā怠贰埂弧俊场建暒幡悝绂濡氅┅!"%',:;?]`|}~¢表格
首先我们先看一下安装的函数:
要安装的的类型
的回调函数
进程
程序的线程,如果为则是全局
熟悉了函数,我们就能开始我们的工作,挂钩进程。
首先打开,创建一个工程。然后创建一个新的单元。
首先在单元的下面声明要用到的函数。
我们的第一个函数是安装,让我们看一下代码:
这样的话就安装一个全局的键盘,的方法还有很多,在此就不一一列举了。
下面介绍一下回调函数:
这样的话就完成了对进程的挂钩。可是挂上钩我们的工作并没结束,相反,我们的工
作才刚刚开始。钩子的作用是帮我们把注入到别人的进程空间。现在我们的已
经在别人的进程空间内。所以,我们就可以做我们想做的事。
下面介绍一下的子类化处理。
大家都知道,在里不管你做了什么事,都会向发送一条消息,然后由
作出相应的处理后才会返回给传送消息的应用程序。
那大家会问:“不是已经拦截了消息了吗?”
是啊,那也要词抢菇亓耸裁聪ⅲ腿缟厦嫖颐切吹奈颐抢菇亓思?br>消息,我们可以在按下任何一个按键的时候做出处理。消息的种类有很多。
可是我们今天要讲的是的子类化处理,这又是一门新的技术。
不废话了,这就开始。^^
相信大家都见过两这个:和
可能你们会说,这些不是处理窗口消息的吗?对,这就是我们要用到的。
接下来让我们看一下这些的参数。
窗体的句柄
欲取回的信息,可参照下表
的值可以是下列任何一个
扩展窗口样式
窗口样式
该窗口的窗口函数的地址
拥有窗口的实例的句柄
该窗口之父的句柄。不要用来改变这个值
对话框中一个子窗口的标识符
含义由应用程序规定
这个窗口的对话框函数地址
在对话框函数中处理的一条消息返回的值
含义由应用程序规定
也许大家会注意到这个参数。没错,我们子类处理就是要用到这个参数。
代码如下:
这样我们的就指向窗体的窗口函数地址;
既然得到了窗口函数地址,那么就修改到我们自定义的消息处理地址里吧。
下面要用到函数了。
指定窗口句柄
和的一样
新的消息处理地址
代码如下:
这样就把指定窗体的消息转到了我们的函数内执行;
回调函数如下:
<
首先我们先看一下安装的函数:$·‘“〈《「『【〔〖〝┅纾郏?¨°·ˇˉā薄搿洹濉妗谩ⅰ!ā怠贰埂弧俊场建暒幡悝绂濡氅┅!"%',:;?]`|}~¢表格
首先我们先看一下安装的函数:
要安装的的类型
的回调函数
进程
程序的线程,如果为则是全局
熟悉了函数,我们就能开始我们的工作,挂钩进程。
首先打开,创建一个工程。然后创建一个新的单元。
首先在单元的下面声明要用到的函数。
我们的第一个函数是安装,让我们看一下代码:
这样的话就安装一个全局的键盘,的方法还有很多,在此就不一一列举了。
下面介绍一下回调函数:
这样的话就完成了对进程的挂钩。可是挂上钩我们的工作并没结束,相反,我们的工
作才刚刚开始。钩子的作用是帮我们把注入到别人的进程空间。现在我们的已
经在别人的进程空间内。所以,我们就可以做我们想做的事。
下面介绍一下的子类化处理。
大家都知道,在里不管你做了什么事,都会向发送一条消息,然后由
作出相应的处理后才会返回给传送消息的应用程序。
那大家会问:“不是已经拦截了消息了吗?”
是啊,那也要词抢菇亓耸裁聪ⅲ腿缟厦嫖颐切吹奈颐抢菇亓思?br>消息,我们可以在按下任何一个按键的时候做出处理。消息的种类有很多。
可是我们今天要讲的是的子类化处理,这又是一门新的技术。
不废话了,这就开始。^^
相信大家都见过两这个:和
可能你们会说,这些不是处理窗口消息的吗?对,这就是我们要用到的。
接下来让我们看一下这些的参数。
窗体的句柄
欲取回的信息,可参照下表
的值可以是下列任何一个
扩展窗口样式
窗口样式
该窗口的窗口函数的地址
拥有窗口的实例的句柄
该窗口之父的句柄。不要用来改变这个值
对话框中一个子窗口的标识符
含义由应用程序规定
这个窗口的对话框函数地址
在对话框函数中处理的一条消息返回的值
含义由应用程序规定
也许大家会注意到这个参数。没错,我们子类处理就是要用到这个参数。
代码如下:
这样我们的就指向窗体的窗口函数地址;
既然得到了窗口函数地址,那么就修改到我们自定义的消息处理地址里吧。
下面要用到函数了。
指定窗口句柄
和的一样
新的消息处理地址
代码如下:
这样就把指定窗体的消息转到了我们的函数内执行;
回调函数如下:
<