欢迎来到朵拉利品网
知识中心
资讯
  • 资讯
  • 产品
  • 供应商
您的位置: 朵拉利品网 >  知识中心 > 消息钩子 子类化和消息钩子的区别
消息钩子 子类化和消息钩子的区别
2020-05-06 10:27:51 来源:朵拉利品网

1, 子类化和消息钩子的区别



完全是两码事。
Windows的消息分配机制大致如下
总线程接收消息->;将消息发送给对应窗口的总处理器->;总处理器将消息分配给各个 专职消息处理程序
子类化相当于 注册新的 或者 覆写已有的窗口的 专职消息处理程序,实现对不同消息的响应
而消息钩子则比较具有“破坏性”,它是直接在第一步“总线程接收消息->;将消息发送给对应窗口的总处理器”这里拦截得到消息,钩子拦截的时候窗口甚至都还没看到消息,此时钩子可以对消息进行读取、消除、篡改,功能比子类化要强大得多,也危险得多

2, 安装消息钩子是什么意思



我现在就是挂GUI的线程ID了.
我是这样做: 我把A.dll注入到了QQ的登陆窗体进程,然后在A.dll内部就自己运行查找该被注入的QQ的登陆窗体的线程ID[PS:已经跟踪很多次了,我找的QQ登陆窗体的线程ID号跟用SPY++的一样],然后再把QQ登陆窗体的线程ID 传递给SetWindowsHookEx函数.
我是这样使用SetWindowsHookEx
SetWindowsHookEx(xxx, xxx, NULL, QQ登陆窗体线程ID) ;
理论上,我的步骤合情合理呀. 一切操作都是在A.dll内部完成就是不起作用.
但是,我用外部程序给QQ安装钩子,就成功. 但是用 注入的方式在QQ内部运行安装钩子就是不成功!

名词解释


QQ

QQ(Tencent QQ)是腾讯公司借鉴于ICQ开发的一款基于Internet的即时通信(IM)软件,于1999年2月推出,是中国的社交软件巨头。 QQ支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、QQ邮箱等多种功能,并可与多种通讯终端相连。

线程

线程(英文:thread),台湾地区译为执行绪(英文:thread ofexecution)、绪程,操作系统技术中的术语,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是行程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并行多个线程,每条线程并行执行不同的任务。在Unix SystemV及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。计算机科学术语,指运行中的程序的调度单位。

ID

身份标识号、账号、唯一编码、专属号码、工业设计、国家简称、法律词汇、通用账户、译码器、软件公司等,各类专有 词汇缩写。 身份证,身份识别,是一种身份证明。