【问题标题】:How does one stop a key from being held down in C如何阻止一个键在 C 中被按住
【发布时间】:2023-02-03 08:47:57
【问题描述】:

我似乎无法弄清楚如何在 C 中使用 GetKeyState 函数时防止密钥被持有。有人能知道如何做到这一点吗?

【问题讨论】:

  • 您如何想象一个 C 程序会导致人类将手指从键上移开?
  • C中没有GetKeyState。它是一个Win32 API函数
  • @Eric 产生电击,也许吧?不过,不确定是否已(尚未)将其合并到标准库中。
  • @AdrianMole 从技术上讲,C 标准允许通过未定义的行为发生这种情况;)

标签: c winapi


【解决方案1】:

您可以将 SetKeyboardStateGetKeyState 结合使用,并将密钥的高位翻转为 0 而不是 1。根据 MSDN

返回值指定指定虚拟键的状态,如下: 如果高位为1,则key为down;否则,它就起来了。

请注意,这不是标准 C,而是 Win32 API 的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 2014-05-03
    • 2022-09-27
    • 1970-01-01
    • 2017-04-30
    • 2012-09-23
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多