文档章节

SetWinEventHook和SetWindowsHookEx的异同

itviewer
 itviewer
发布于 2016/03/12 04:04
字数 390
阅读 121
收藏 0

SetWinEventHook和SetWindowsHookEx都可以指定钩子函数(hook function)来截取别的进程中的消息,但是他们之间有一些不同。

  1.  SetWindowsHookEx有两种钩子函数,一种是全局钩子(global hook),另一种是线程钩子(thread hook)。全局钩子能够截取所有线程的消息,但是全局钩子函数必须存在于一个dll中。线程钩子只能截取属于当前进程中的线程的消息,钩子函数不需要放 在dll中。SetWinEventHook也有两种钩子函数,一种是进程内钩子(in-context hook),另一种是进程外钩子(out-of-context hook)。进程内钩子函数必须放在dll中,将被映射到所有进程中。进程外钩子函数不会被映射到别的进程中,所以也不需要被放到dll中。不管进程内或 进程外钩子都能截取到所有进程的消息,区别仅是进程内钩子效率更高。

  2. SetWindowsHookEx和SetWinEventHook两种方法截取的消息的类型不一样。 SetWindowsHookEx能截取所有WM_开头的消息。而SetWinEventHook截取的消息都是EVENT_开头的,这些消息所有都是跟 对象的状态相关的,所以它无法获取根鼠标键盘相关的消息。

  3. SetWindowsHookEx设定的全局钩子必须被注入到别的进程中,所以就无法截取到一些有限制的进程的消息,比如命令行窗口(console window)。而SetWinEventHook的进程外钩子就没有这个限制。


© 著作权归作者所有

共有 人打赏支持
上一篇: 常用autoit资源
itviewer
粉丝 16
博文 218
码字总数 44686
作品 0
海淀
技术主管
私信 提问
Windows Hook

啥是windows的钩子?钩子故名思议就是在嵌入到正常执行程序的功能。对于windows来说,每个系统和应用程序之间的交互是使用消息机制来进行。比如点击应用程序上面的某个按钮,就是发送了事件给...

王二狗子11
2018/01/07
0
0
使用HOOK获取QQ游戏登录密码

//通过HOOK获取QQ游戏登录密码 不得不先说一下API函数SendMessage: 使用SendMessage向编辑框窗口发送WMGETTEST消息,可以轻易获取到编辑框的内容(就算这个窗口不属于同一进程)。 但是有一...

isolated
2011/10/23
163
0
MFC线程钩子和全局钩子[HOOK DLL]

第一部分:API函数简介 1. SetWindowsHookEx函数 函数原型 HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hook procedure HINSTANCE hMod, // handle to application......

长平狐
2012/10/08
1K
0
C++钩子(Hook)实现初探

所谓钩子可以百度下里面有很多解释,我可以不必在这里啰嗦了。研究了下,个人理解就是用来截获 WINDOWS消息的API,基于消息机制的WINDOWS程序所产生的消息可以用钩子来截获。钩子把截获的消息...

小编辑
2010/12/21
5.3K
2
Windows Hook机制(转贴一)

最近想写个监视系统的小软件,需要Windows Hook的知识,所以会陆续贴几个关于Hook的文章做参考。 本文将试图以下面的顺序讲解HOOK的大部分内容: 1、 WINDOWS的消息机制 2、 HOOK介绍 3、 HO...

像教授
2017/11/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue部署上线

Tips:已有服务器地址条件下 配置测试环境接口,线上服务器环境接口 (通过在项目根目录下新建.env .env.development .env.production文件来控制) 如下图 在目录里加入了3个文件 .env.devel...

羊皮卷
7分钟前
0
0
VMware vSphere 服务器虚拟化部署安装图解

转载来源 :talkwithtrend :https://mp.weixin.qq.com/s/OJUINggNmiasooXDykHkow 一、VMware vSphere部署的前期规划要点 1、如何利用现在的设备架构虚拟化环境 在虚拟化过程中,用户大多会考...

寰宇01
10分钟前
0
0
Elasticsearch

Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论…… 0. 带着问题上路——ES是如何产生的? (1)思...

writeademo
17分钟前
0
0
微服务概念整理

桂荣
17分钟前
0
0
Netflix是什么,与Spring Cloud有什么关系

说明:以下总结的观点不一定准确,但是是最好理解的。 1、首先,Netflix是一家做视频的网站,可以这么说该网站上的美剧应该是最火的。 2、Netflix是一家没有CTO的公司,正是这样的组织架构能...

吴伟祥
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部