首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
钩回车键为什么钩子函数被执行两回???
发表于: 2005-8-19 20:47
6097
钩回车键为什么钩子函数被执行两回???
Goodmann
2005-8-19 20:47
6097
做了一个远程钩子DLL,钩回车键,在函数中通过if(VK_RETURN==wParam)来判断是否是回车键,但是在执行时钩回车时相应的钩子函数却被执行了两回,难道键按下和键抬起都会触发钩子吗???怎样解决这个问题只让他执行一次?跟lParam参数有关系吗,找了半天没发现有什么能解决的。请帮帮忙。。。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
4
)
北极星2003
雪 币:
1852
活跃值:
(504)
能力值:
(RANK:1010 )
在线值:
发帖
86
回帖
1240
粉丝
12
关注
私信
北极星2003
25
2
楼
lParam > 0 ==> 按下
2005-8-19 22:04
0
Goodmann
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
12
回帖
32
粉丝
0
关注
私信
Goodmann
3
楼
谢谢,在lParam的位31(最高位)用于标志按键是按下或者弹起,0为按下,1为弹起。按理说,这样的话只要我们取其中的一个就行,这样钩子函数就执行一次,但是实际中却发现了这样一个问题:
当使用0(按下)时执行钩子函数是成功的,钩子函数只执行一次:
if(VK_RETURN==wParam && 0==(lParam>>31 & 1))
但是当使用1(弹起)时,钩子函数一次也执行不了,为什么这时钩不住这个弹起的回车呢?
if(VK_RETURN==wParam && (lParam>>31 & 1))
偶然发现而已,但最主要的问题已经解决了,有兴趣的可以试试,看看是什么原因。。。
2005-8-20 00:18
0
nbw
雪 币:
339
活跃值:
(1510)
能力值:
( LV13,RANK:970 )
在线值:
发帖
141
回帖
2842
粉丝
23
关注
私信
nbw
24
4
楼
回车+换行?不知道,瞎说
2005-8-20 13:24
0
北极星2003
雪 币:
1852
活跃值:
(504)
能力值:
(RANK:1010 )
在线值:
发帖
86
回帖
1240
粉丝
12
关注
私信
北极星2003
25
5
楼
一直都是用按下lParam>0,就从来没想过UP(lParam<0)会有问题。
不解
2005-8-21 07:28
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
Goodmann
12
发帖
32
回帖
10
RANK
关注
私信
他的文章
[求助]用OD一加载一EXE文件就出错 此EXE怎样做的保护呢
4343
[求助]怎样将一个程序的一段代码移植到另各程序相同的地址处
3705
[求助]关于异常处理函数的一些疑问
3690
用OD过程中的一个小问题。。。
4147
关于OD的一个问题。。。。
3486
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部