我需要从线程的消息队列中删除所有与键盘相关的消息。经过一些研究后,我设法编写了以下代码:
for( MSG zMsg; PeekMessage( & zMsg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE ); );
但它似乎不起作用。
我不知道这是不是一个好习惯,但我没有可能和时间重写我正在努力使其更清洁的代码。
我怎么能让这段代码工作呢?
感谢您的帮助!
编辑:我正在使用WindowsCE
答案 0 :(得分:0)
我认为你正在过滤键盘消息以外的所有内容。
wMsgFilterMin
要检查的消息范围中第一条消息的值。
wMsgFilterMax
要检查的消息范围中最后一条消息的值。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644943(v=vs.85).aspx