hur.cn - 华软网

 热门搜索

全局钩子是不是一定要放在动态链接库中?

  作者:未知    来源:网络    更新时间:2011/5/25
rt,求解答
---华软 网友回答---
必须的
---华软网友回复---
动太链接库可以被所有的进程调用,如果不是动态链接库就只能被当前的进程调用.
首先在DLL中会有一个SetHookWindowEx函数它会设置一个全局的的钩子和当前所有的线程相关联.如果此时有一个进程中的一个线程给系统发送了消息,操作系统就会去检查这个线程是否已经安装了钩子过程,如果说发现安装了全局钩子过程,于是就会找到包含了这个钩子过程的动态链接库.将这个动态链接库映射到这个进程的地址空间当中。然后再调用钩子过程函数。将系统消息传给动态链接库中定义的钩子过程函数。
---华软网友回复---
应该是的,只有动态库的钩子函数的代码段才能被所有进程 共用,这也是动态库的一个特点

如果不放动态库里,就算别的进程傻到调用你的钩子函数,也没法去调用      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。