代码之家  ›  专栏  ›  技术社区  ›  Jay Wick

用windows修改器设置全局热键

  •  3
  • Jay Wick  · 技术社区  · 16 年前

    我想建立一个 全局热键 *在vb6中监听键盘快捷键 + o .

    我发现了很多杂乱的例子,但是没有涉及到windows密钥。

    设置热键的理想方法是什么?如何将windows键作为修改器?

    * 我在寻找一条全球捷径。这意味着我不必把应用程序放在焦点上就可以工作。

    1 回复  |  直到 16 年前
        1
  •  1
  •   bwarner    16 年前

    windows api中的register hot key将允许您注册全局热键。您还需要使用globaladdatom来获取唯一的热键标识符。见 this link 详细情况。

    Private Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long
    Private Declare Function GlobalAddAtom Lib "kernel32" Alias "GlobalAddAtomA" (ByVal lpString As String) As Integer
    
    Private Const WM_HOTKEY As Long = &H312
    Private Const MOD_WIN          As Long = &H8
    
      m_lHotkey = GlobalAddAtom("MyHotkey")
      Call RegisterHotKey(Me.hwnd, m_lHotkey, MOD_WIN, vbKeyO)
    

    然后你只需要听一下窗口上的wm_热键信息。