首页
社区
课程
招聘
在日志钩子里` 怎么阻止消息传到窗口呢` ?
发表于: 2010-3-19 09:34 3866

在日志钩子里` 怎么阻止消息传到窗口呢` ?

2010-3-19 09:34
3866
我不知道有没有其他办法来实现改键```而不用写DLL ``

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 92
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
阻止消息传到窗口的话,给窗口加个钩子,在钩子函数里重写CWnd的PreTranslateMessage()函数,把你要阻止的消息给屏蔽了,不过只能屏蔽掉PeekMessage发过去的消息
自己看下mfc里消息处理的代码就知道怎么做了
    if (pState->m_msgCur.message != WM_KICKIDLE && !AfxPreTranslateMessage(&(pState->m_msgCur)))
    {
        ::TranslateMessage(&(pState->m_msgCur));
        ::DispatchMessage(&(pState->m_msgCur));
    }
2010-3-19 13:15
0
雪    币: 158
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是想在日志钩子里` 屏蔽掉当前发送给窗口键盘消息 `` 不知道有没有方法实现
2010-3-19 20:18
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
用键盘钩子啊
SetWindowsHook  不用写dll的

给一个以前写的例子源码
http://bbs.pediy.com/showpost.php?p=737906&postcount=5
2010-3-20 11:15
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
GetMessage知道吧, 楼主可以通过这里得到的消息来判断是否为按键 ,然后 阻止或修改事件 再通过DispatchMessage发送下去,这是最简单的方法,当然,程序一定要有源码才行
2010-3-20 14:34
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
没有源码的话,用OD改起来比较痛苦
2010-3-20 14:35
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
RegisterHotKey用这个API也行
2010-3-20 14:38
0
游客
登录 | 注册 方可回帖
返回
//