我正在编写一个Windows C ++应用程序,我想检测一个按键(对于这个例子,使用字母'S')。按下该键时,程序应该打开或关闭bool值(取决于其当前状态)。
我知道在控制台应用中你可以使用cin.get
,但我不熟悉Win32 API。我还想确保当按下该键时,该事件仅被注册一次,即如果用户按下“S”但按住该键一段时间,该程序应仅检测到“S”;不是'SSSSSSS'。
答案 0 :(得分:0)
所以你有一个Windows消息循环,对吗?捕获WM_KEYDOWN并检查它是否在自动重复上。
但我猜你实际上正在使用一个框架,无论是MFC,QT还是别的什么。该框架将包装您的Windows消息循环并允许您捕获关键事件,但如果您希望我们告诉您如何,您将不得不说明您正在使用的框架。