最适合在C ++中读取键盘输入的方法

时间:2013-03-07 16:53:57

标签: c++ keyboard device

我正在尝试编写一个可以在键盘按钮中读取的Keyboard类。我看过这个链接 - http://www.daniweb.com/software-development/cpp/code/216732/reading-scan-codes-from-the-keyboard但正如那里所说的那样,它对所有电脑来说都不是很准确(我不知道这是不是真的)。因此,我的问题是实现键盘类的最佳方法是什么?这将用于Windows

非常感谢

1 个答案:

答案 0 :(得分:0)

有三种方法可以读取键盘输入:

  1. 按照链接中的说明从控制台窗口读取输入。对于初学者来说,确实难以让它正常工作,因为它正在读取ANSI字符而不是Unicode字符,但还有其他问题。控制台输入/输出有点模糊,文档也是如此
  2. 通过处理与普通窗口关联的UI事件。在这种情况下,您将在窗口过程
  3. 中处理WM_KEYDOWN消息
  4. 使用SetWindowsHookEx等功能深入了解Win32 API。在这种情况下,你甚至不需要一个窗口(普通或控制台),你可以读取在任何应用程序或桌面上按下的键击
  5. 在不知道您打算如何使用此Keyboard类的情况下,很难建议使用哪一个。