【问题标题】:Global hotkey release (keyup)? (WIN32 API)全局热键释放(keyup)? (WIN32 API)
【发布时间】:2012-02-05 16:54:55
【问题描述】:

有没有办法注意到用RegisterHotKey注册的热键按钮的释放?

我每次按下热键时都会收到WM_HOTKEY 消息,但我需要知道该键何时释放

【问题讨论】:

    标签: c++ winapi hotkeys registerhotkey


    【解决方案1】:

    没有针对该特定操作的特定通知。您必须编写一个通过 SetWindowsHookEx() 实现全局键盘挂钩的 DLL,然后您将收到单独的按键向上/向下通知,并可以根据需要将它们与您的 WM_HOTKEY 通知匹配。

    【讨论】:

      【解决方案2】:

      使用RegisterHotkey 来检测密钥是否关闭,然后使用GetAsyncKeyState 轮询直到密钥不再关闭。这避免了SetWindowsHookEx 的复杂性,并且轮询通常是可以接受的,因为它仅在按住热键时进行。

      【讨论】:

      • 恕我直言,如果您只有一个或几个热键,这是更好的解决方案
      猜你喜欢
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      • 2010-12-12
      • 2019-12-07
      • 2016-02-22
      • 2018-05-01
      • 2011-03-15
      相关资源
      最近更新 更多