Установить глобальную горячую клавишу с модификатором Windows - PullRequest
3 голосов
/ 04 мая 2010

Я хочу установить глобальную горячую клавишу * в VB6, которая слушает сочетание клавиш Win + O .

Я нашел кучу грязных примеров, но ничего, что касалось ключа Windows.

Какой идеальный способ настройки горячих клавиш и как включить ключ Windows в качестве модификатора?

* Я после глобального ярлыка. Это значит, что приложение не должно быть в фокусе, чтобы оно работало.

1 Ответ

1 голос
/ 04 мая 2010

RegisterHotKey в Windows API позволит вам зарегистрировать глобальную горячую клавишу. Вам также необходимо использовать 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_HOTKEY в вашем окне.

...