首页
社区
课程
招聘
如何从列队中移除消息,但是不移除消息数据
发表于: 2013-8-10 23:28 5323

如何从列队中移除消息,但是不移除消息数据

2013-8-10 23:28
5323
程序使用PeekMessage 指定PM_REMOVE处理消息
我现在要延时处理某些消息。
HOOK PeekMessage指定PM_NOREMOVE查询这个消息,如果是我要延时处理的就保存下来wparam和lparam 延时后SendMessage
但是PM_NOREMOVE后消息没被移除,所以每次都取到同一个消息,卡死

我要移除队列中的消息 但是消息的数据不被移除
比如WM_SETTEXT的lparam指向text
我PeekMessage PM_REMOVE 后发现是我要拦击延时的消息,如何在队列中移除这个WM_SETTEXT消息,但是text还在。 我怕我保存了wparam和lparam后 如果指定PM_REMOVE,text也被移除了。

不知道WH_GETMESSAGE钩子能否做到??
求指点。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你不把消息传递下去不就可以了吗?
2013-8-11 16:23
0
雪    币: 1372
活跃值: (5353)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
3
消息指向的一些数据不会被移除吗??比如lparam指向的text。我PeekMessage以后过些时间不会被移除吗?
2013-8-11 18:02
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
比如lparam指向的text  如果那是一个指针,生存周期和那个消息毫无关系。
2013-8-11 20:54
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是指使用 HOOK。
如果是你要监控的消息的话,你把消息保存起来。等到你想发送的时候再sendmessage
2013-8-12 10:01
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
把消息传递给系统默认调用即可啊
2013-8-12 13:35
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
消息就是一个结构体啊,不可能删掉结构体而他的成员不被删掉吧,是不是可以自己做一个列表来保存呢。。
2013-8-12 18:19
0
游客
登录 | 注册 方可回帖
返回
//