GetAsyncKeyState 还有一些问题?

发布于 2024-10-21 15:45:32 字数 83 浏览 0 评论 0原文

为什么在使用 GetAsyncKeyState 时,单次按下时会出现超过 1 个(几百个)按键的情况。当我只按一次时,它会打印一百个相同的键。 谢谢,

Why do i get more than 1 (a few hundred) key hit on a single press while using GetAsyncKeyState. It prints a hundred of a same key while i just pressed it once.
Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

_蜘蛛 2024-10-28 15:45:32

GetAsyncKeyState 告诉您键盘的状态,某个键是否按下/向上,而不是自上次调用以来是否已按下。如果你在循环中调用它,只要你按住键,你就会得到“key is down”的信息 - 并且该循环的执行速度比你移动手指的速度要快得多。

如果您想要键盘事件处理WM_KEYDOWNWM_KEYUP

如果您想要全局热键,请使用RegisterHotKey

GetAsyncKeyState tells you the state of the keyboard, whether a key is down/up, not whether it has been pressed since last call. If you call it in a loop, you will get "key is down" for as long as you keep the key down - and that loop executes a lot faster than you can move your fingers.

If you want keyboard events handle WM_KEYDOWN and WM_KEYUP.

If you want a global hotkey, use RegisterHotKey

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文