Vb6 使用Windows修改器设置全局热键

Vb6 使用Windows修改器设置全局热键,vb6,shortcut,hotkeys,Vb6,Shortcut,Hotkeys,我想在VB6中设置一个收听键盘快捷键Win+O的全局热键 我发现了大量杂乱无章的示例,但没有任何涉及Windows键的示例 设置热键的理想方法是什么?如何将Windows键作为修改器 *我在寻找一条全球捷径。这意味着我不必让应用程序处于焦点状态,就可以正常工作。Windows API中的RegisterHotKey将允许您注册全局热键。您还需要使用GlobalAddAtom来获取唯一的热键标识符。有关详细信息,请参阅 Private Declare Function RegisterHotKey

我想在VB6中设置一个收听键盘快捷键Win+O的全局热键

我发现了大量杂乱无章的示例,但没有任何涉及Windows键的示例

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


*我在寻找一条全球捷径。这意味着我不必让应用程序处于焦点状态,就可以正常工作。

Windows API中的RegisterHotKey将允许您注册全局热键。您还需要使用GlobalAddAtom来获取唯一的热键标识符。有关详细信息,请参阅

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_热键消息