WinSetHook拦截消息的问题

involute 2001-07-27 08:21:12
做一个程序,想拦截所有键盘消息,用WinSetHook可以在98下拦截,可是在NT下却只能拦截自己这个进程的消息,怎么解决啊?2K下没有试过,估计和NT下一样。
请告知在NT或2K下拦截键盘消息的手段。
...全文
145 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
involute 2001-10-24
  • 打赏
  • 举报
回复
LYX2001(飞行兔子):谢了,我先试试,可行的话回来加分。
飞行兔子 2001-10-23
  • 打赏
  • 举报
回复
将钩子处理函数做在dll中可以实现,大概是这样的:

假设你在hook.dll文件中实现了钩子函数HookProc(),这样设全局钩子:

::SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)GetProcAddress(hmodHook, "HookProc"), LoadLibrary("hook.dll"), 0);

这样,在WIN2000下也能捕获全局鼠标和键盘输入。
luxes 2001-10-23
  • 打赏
  • 举报
回复
用WH_KEYBOARD在NT下是只能截获自己的
为什么不使用WH_CALLWNDPROCRET截获发往你需要的窗口的WM_KEYDOWN消息?
involute 2001-10-23
  • 打赏
  • 举报
回复
up
involute 2001-07-27
  • 打赏
  • 举报
回复
说错了,应该是SetWindowsHookEx函数。
boybaby 2001-07-27
  • 打赏
  • 举报
回复
仔细看看MSDN中有关键盘钩子的部分,有个参数要设置,不过要小心啊
我曾经有一次做键盘钩子把系统弄崩溃了,用安全模式都没用哦
knight_z 2001-07-27
  • 打赏
  • 举报
回复
我告诉你,在2K下是象你说的那样的,我也是在迷惑呢。
我写的程序没有问题,但在2K下只能截获自己进程的消息。
但是我觉得应该可以解决的, gz . up .
panda_w 2001-07-27
  • 打赏
  • 举报
回复
键盘消息可以使用键盘钩子,但是我这里没有此方面的例子
KissYou 2001-07-27
  • 打赏
  • 举报
回复
我知道怎么拦截鼠标消息,键盘消息拦截倒是没见过!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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