Windows - 从消息队列中删除与键盘相关的消息

时间:2013-09-06 08:20:31

标签: c++ c windows keyboard message

我需要从线程的消息队列中删除所有与键盘相关的消息。经过一些研究后,我设法编写了以下代码:

for( MSG zMsg; PeekMessage( & zMsg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE ); );

但它似乎不起作用。

我不知道这是不是一个好习惯,但我没有可能和时间重写我正在努力使其更清洁的代码。

我怎么能让这段代码工作呢?

感谢您的帮助!

编辑:我正在使用WindowsCE

1 个答案:

答案 0 :(得分:0)

我认为你正在过滤键盘消息以外的所有内容。

wMsgFilterMin

要检查的消息范围中第一条消息的值。

wMsgFilterMax

要检查的消息范围中最后一条消息的值。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms644943(v=vs.85).aspx