0.ring3-SetWinEventHook和SetWindowsHookEx
来源:互联网 发布:动漫周边淘宝店 编辑:程序博客网 时间:2024/06/05 16:43
SetWinEventHook和SetWindowsHookEx都可以指定钩子函数(hook function)来截取别的进程中的消息
1.SetWindowsHookEx有两种钩子函数,一种是全局钩子(global hook),另一种是线程钩子(thread hook)。
SetWindowsHookEx 和SetWinEventHook两种方法截取的消息的类型不一样。
SetWindowsHookEx设定的全局钩子必须被注入到别的进程中,所以就无法截取到一些有限制的进程的消息,比如命令行窗口(console window)。而SetWinEventHook的进程外钩子就没有这个限制。
全局钩子能够截取所有线程的消息,但是全局钩子函数必须存在于一个dll中。
线程钩子只能截取属于当前进程中的线程的消息,钩子函数不需要放 在dll中。
2.SetWinEventHook也有两种钩子函数,一种是进程内钩子(in-context hook),另一种是进程外钩子(out-of-context hook)。
进程内钩子函数必须放在dll中,将被映射到所有进程中。
进程外钩子函数不会被映射到别的进程中,所以也不需要被放到dll中。不管进程内或 进程外钩子都能截取到所有进程的消息,区别仅是进程内钩子效率更高。
SetWindowsHookEx能截取所有WM_开头的消息。
而 SetWinEventHook截取的消息都是EVENT_开头的,这些消息所有都是跟对象的状态相关的,所以它无法获取根鼠标键盘相关的消息。
- 0.ring3-SetWinEventHook和SetWindowsHookEx
- SetWinEventHook和SetWindowsHookEx的异同
- SetWinEventHook和SetWindowsHookEx的异同
- 0.ring3-hook的2种基础方式(SetWindowsHookEx、CreateRemoteThread、)
- SETWINDOWSHOOKEX
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- SetWindowsHookEx
- 所谓ring0和ring3
- ring0和ring3简介
- 0.ring3-hook-WH_KEYBOARD和WH_KEYBOARD_LL的区别
- 0.ring3-NtMapViewOfSection注入
- 0.ring3-APC注入
- java获取当前日期是星期几
- 不能在OnInitDialog中使用GetClientRect
- 读写SQL+ADO的datetime
- weblogic/tuxedo开发常用网站
- 控制系统(本文转载)
- 0.ring3-SetWinEventHook和SetWindowsHookEx
- Android 资源目录的相关知识
- C++容器类的简单介绍续(转帖)
- vtk中用到的函数总结,待续
- Flash.Util.Dictionary使用方法
- 水与火的选择:对付路边小广告
- U-boot-2009.03移植之十三:第三阶段——支持DM9000网口芯片
- C#使用MySQL Connector/NET
- div屏幕水平垂直居中