+ -
当前位置:首页 → 问答吧 → [win32]对于一个按键事件,如何让GetKeyState()或者win32的窗口函数只触发一次?

[win32]对于一个按键事件,如何让GetKeyState()或者win32的窗口函数只触发一次?

时间:2011-11-27

来源:互联网

如果我快速按下键盘上某个键,比如F1键,则win32窗口函数将发送3条事件,第1个是F1的按下事件,第2个是F1的弹起事件,第3个是F1的按下事件
GetKeyState()也是这样。

也就是说,按下的事件总是被触发了两次,
有没办法让win32只触发一次按下的事件???

作者: weiwuyuan   发布时间: 2011-11-27

引用楼主 weiwuyuan 的回复:
如果我快速按下键盘上某个键,比如F1键,则win32窗口函数将发送3条事件,第1个是F1的按下事件,第2个是F1的弹起事件,第3个是F1的按下事件
GetKeyState()也是这样。

也就是说,按下的事件总是被触发了两次,
有没办法让win32只触发一次按下的事件???

如果我快速按下键盘上某个键,比如F1键,则win32窗口函数将发送3条事件,第1个是F1的按下事件,第2个是F1的弹起事件,第3个是F1的按下事件
==============
按下和弹起是成对的。除非由于某种原因消息没有发到对应的窗口罢了.(比如切换窗口等操作)
那至于你想要按下事件不要弹起事件,那你只要关心按下事件就好了,你可以不处理弹起事件呀.

作者: yuucyf   发布时间: 2011-11-27