我有一个键盘钩子,如果它截到特定的键盘消息(如ctrl+A被按下),我能不能做到这个键盘消息不发到目前正Active的窗口???

endy_wqf 2002-12-13 11:05:11
如题
...全文
43 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
demetry 2003-02-24
  • 打赏
  • 举报
回复
即将HOOK做到DLL中
demetry 2003-02-24
  • 打赏
  • 举报
回复
楼上又来做广告了

小心被封

------------

要做全局HOOK才行
playguy 2003-02-24
  • 打赏
  • 举报
回复
可以去这里看一看,有完整的解决方案,绝对实用:
http://www.aslike.net
endy_wqf 2002-12-13
  • 打赏
  • 举报
回复
可能我没有说清楚,我的程序1用到了键盘钩子,比如说这个键盘钩子捕获了特定的按键消息(Ctrl+B),如果当前Visual c++是活动窗口,此时若按下Ctrl+B,我的程序1可以收到这个消息,但是visual c++也能够收到这个消息。我想做的是让visual c++收不到这个消息,那我该怎么处理呀?
puyinghua 2002-12-13
  • 打赏
  • 举报
回复
用不着钩子, 重载窗口的PreTranslateMessage
dozoo 2002-12-13
  • 打赏
  • 举报
回复
截获之后,直接return.
bear_c 2002-12-13
  • 打赏
  • 举报
回复
怎么有乱码?

其实直接 return 1 就可以了
bear_c 2002-12-13
  • 打赏
  • 举报
回复
KBDLLHOOKSTRUCT *pkh = (KBDLLHOOKSTRUCT *) lParam;
if ((pkh->vkCode==VK_ESCAPE && bCtrlKeyDown) || // Ctrl+Esc
(pkh->vkCode==VK_TAB && pkh->flags & LLKHF_ALTDOWN) || // Alt+TAB
(pkh->vkCode==VK_ESCAPE && pkh->flags & LLKHF_ALTDOWN)|| // Alt+Esc
(pkh->vkCode==VK_LWIN || pkh->vkCode==VK_RWIN) || // ¿ªÊ¼²Ëµ¥
(pkh->flags & LLKHF_ALTDOWN) || // Alt
(pkh->vkCode==VK_TAB)) //Tab
{
return 1; // ²»ÔÙÍùCallNextHookEx´«µÝ£¬Ö±½Ó·µ»Ø
}
sobingman 2002-12-13
  • 打赏
  • 举报
回复
我也没做出来,好象可以截到消息却阻止不了它到目标。

15,979

社区成员

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

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