C++ WinCE上的非阻塞键盘访问虚拟键盘

C++ WinCE上的非阻塞键盘访问虚拟键盘,c++,keyboard,windows-ce,virtual,nonblocking,C++,Keyboard,Windows Ce,Virtual,Nonblocking,我正在拼命寻找一种解决方案,使我能够以非阻塞方式读取键盘事件。这些键盘事件由WinCE设备附带的虚拟键盘生成。我有一个控制台应用程序运行在C++中,用户被要求通过菜单“ESC”、“U”和其他字符导航。我首先尝试使用fread和stdin,意识到它正在阻止呼叫并等待回车。然后我尝试连接到windows消息WM_KEYUP,但我从未收到此windows消息。此外,我尝试将QtGUI与事件QKeyEvent一起使用,但从未收到任何事件。我想知道在WinCE设备上是否通常可以接收非阻塞键盘事件。如果您有

我正在拼命寻找一种解决方案,使我能够以非阻塞方式读取键盘事件。这些键盘事件由WinCE设备附带的
虚拟键盘生成。我有一个控制台应用程序运行在C++中,用户被要求通过菜单“ESC”、“U”和其他字符导航。我首先尝试使用fread和stdin,意识到它正在阻止呼叫并等待回车。然后我尝试连接到windows消息WM_KEYUP,但我从未收到此windows消息。此外,我尝试将QtGUI与事件QKeyEvent一起使用,但从未收到任何事件。我想知道在WinCE设备上是否通常可以接收非阻塞键盘事件。如果您有任何建议,我将非常高兴

干杯,
Jan将读取整个(虚拟)键盘的状态。或者,您可以将句柄传递到控制台,使其超时为0毫秒。这将总是立即返回,但返回值将告诉您键盘是否有输入等待——如果它在超时过期时返回,则没有输入等待。如果返回
WAIT\u OBJECT\u 0
,则有输入等待读取。作为另一种选择,还有
GetNumberOfConsoleInputEvents
,它告诉您有多少输入等待读取