【发布时间】:2012-01-28 05:44:29
【问题描述】:
确定按键以及如何确定按键是否被按住的最快方法是什么?似乎窗口消息传递很慢。请提供一个示例说明如何执行此操作,以及为什么它比其他方法更快。
明确地说,这是一个实时循环(模拟),所以我正在寻找最快的方法来确定一个键是否被按下,并检查它是否被按住。
【问题讨论】:
-
“窗口消息传递似乎很慢。”真的吗?这很难确定,因为程序不可能计算用户按下键的时间和处理窗口消息的时间之间的延迟。这是传闻你有没有以某种方式测量它太慢了?
-
我已经在实时循环中对其进行了测量,通常需要几个滴答声才能启动。而且我在过去几年里也听到过很多次。
-
我有一些非交互式实时系统的经验和丰富的 Win32 API 经验。我也有很多在 StackOverflow 上帮助人们的经验。一条建议:如果您希望得到完整的答案,请不要做出广泛而模糊的不合理声明或使用主观术语。明确。在这种情况下,详细说明您的测试以及测试的快慢会有很大帮助。
-
我并不是要争论,但是,输入的消息循环以比其对应部分(例如 GetKeyState)慢而闻名,我敢说这是最基本的事情之一您首先学习 Windows 输入编程。
-
@judeclarke 否决问题不一定是滥用。如果您认为反对票是合理的,请尝试从中学习并保持开放的心态。否则不要担心。它只是 -2 代表,通过提出更多高质量的问题并提供出色的答案,您很快就会得到它。也就是说,如果您想报告某人的行为,请注意标记为版主注意是要走的路。但请记住,对于特定帖子的否决,我们无能为力。我会清理这篇文章中的 cmets,希望现在就足够了。
标签: c++ winapi input keyboard user-input