【问题标题】:Non Blocking Keyboard on WinCE accessing the virtual keyboardWinCE 上的非阻塞键盘访问虚拟键盘
【发布时间】:2009-10-26 13:48:47
【问题描述】:

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

干杯, 一月

【问题讨论】:

    标签: c++ keyboard windows-ce virtual nonblocking


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-02-09
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多