c++ - Non Blocking Keyboard on WinCE访问虚拟键盘

标签 c++ keyboard windows-ce virtual nonblocking

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

干杯, 简

最佳答案

GetAynchKeyState 将读取整个(虚拟)键盘的状态。或者,您可以将控制台句柄传递给 WaitForSingleObject,超时为 0 毫秒。这将始终立即返回,但返回值会告诉您键盘是否有输入等待——如果它返回时超时已过,则没有。如果它返回 WAIT_OBJECT_0,则有输入等待读取。作为另一种选择,还有 GetNumberOfConsoleInputEvents,它告诉您有多少输入正在等待读取。

关于c++ - Non Blocking Keyboard on WinCE访问虚拟键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624897/

相关文章:

c - 帮助我理解这段 C 代码

c# - .NET Compact Framework 透明用户控件

c++ - what():basic_string::_ M_construct null无效

iphone - 检测 iPad 键盘隐藏与外部键盘连接?

C++ 简单异步服务器库

ios - 增加和减少 iOS8 自定义键盘大小

android - 单击 WebView 中的 TextField 时如何控制 android 中 WebView 的缩放

c# - 如何在 Windows CE 中制作自定义软输入面板 (SIP)?

c++ - 运行时的 Visual Studio DLL 符号解析

c++ - 使用 openNi/NITE 从 Kinect 生成 jpeg 图像