全局钩子一定要在DLL中实现吗?

luckyghl 2005-03-10 07:06:44
看了很多文章,都说全局钩子的实现要在DLL中。
——“ 系统勾子监视系统中的所有线程的事件消息。因为系统勾子会影响系统中所有的应用程序,所以勾子函数必须放在独立的动态链接库(DLL) 中。系统自动将包含"钩子回调函数"的DLL映射到受钩子函数影响的所有进程的地址空间中,即将这个DLL注入了那些进程。”
可是我使用了WH_JOURNALRECORD类型的钩子,简单的放在了exe文件中,就可以得到所有进程的键盘鼠标的消息呀。不知道这个怎么解释?
...全文
225 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gnixemos 2005-03-26
  • 打赏
  • 举报
回复
没有这个说法
可以在exe,可以在dll
oyljerry 2005-03-15
  • 打赏
  • 举报
回复
键盘,鼠标等的全局钩子需要放dll中
linuxpgy 2005-03-15
  • 打赏
  • 举报
回复
WH_JOURNALRECORD是全局性的钩子当然没必要放在dll中了
有些是局部性的
你自己查一下便知。
luckyghl 2005-03-10
  • 打赏
  • 举报
回复
Jarrylogin我不大懂你的意思,能说清楚一些吗?
54gym 2005-03-10
  • 打赏
  • 举报
回复
见过不要DLL可以用全局的, 好象要特别的勾子才行.
Jarrylogin 2005-03-10
  • 打赏
  • 举报
回复
是在DLL中实现。在用EXE来使用全局钩子的是可以的,但是在同一个程序是没有意义的。DLL可以在网络中使用
juststone 2005-03-10
  • 打赏
  • 举报
回复
我也见过用EXE来使用全局钩子的,不过没注意看,效果不知道和DLL有何不同?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧