首页
社区
课程
招聘
[求助]钩子的回调函数在哪个进程中执行?
发表于: 2009-7-21 19:55 5941

[求助]钩子的回调函数在哪个进程中执行?

2009-7-21 19:55
5941
比如:
::SetWindowsHookEx(WH_CBT,
                        CallBack, NULL, ::GetCurrentThreadId())

当事件发生时,这个CallBack是在哪个进程,线程中执行的???

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
消息到哪个进程,就在哪个进程中执行咯....
2009-7-21 20:00
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个例子可能不恰当,我在WinCE上注册了一个来电的回调函数。当来电话时,程序是怎么执行到回调 函数的?
2009-7-21 20:19
0
雪    币: 143
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
回调函数是从系统执行过来的
2009-7-21 20:25
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
中断?
2009-7-21 20:36
0
雪    币: 179
活跃值: (26)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
钩子的回调函数是在消息本身的进程中执行的。
如果是局部钩子,那不用说,回调函数本身就在进程中。如果是全局钩子,回调函数在一个DLL中,在拦截的消息发生时系统会加载这个DLL到进程中。所以回调函数也就到了进程的地址空间。这也是为什么钩子经常被用作线程注入的原因。
2009-7-23 08:02
0
游客
登录 | 注册 方可回帖
返回
//