3
設置全局熱鍵我想建立一個全局熱鍵 *在VB6偵聽鍵盤快捷鍵贏 + Ø。與Windows修改
我發現了一堆亂七八糟的例子,但沒有涉及Windows鍵的東西。
什麼是設置熱鍵的理想方式,以及如何將Windows鍵作爲修飾符?
* 我追求的是全球捷徑。這意味着我不必將應用程序專注於它的工作。
設置全局熱鍵我想建立一個全局熱鍵 *在VB6偵聽鍵盤快捷鍵贏 + Ø。與Windows修改
我發現了一堆亂七八糟的例子,但沒有涉及Windows鍵的東西。
什麼是設置熱鍵的理想方式,以及如何將Windows鍵作爲修飾符?
* 我追求的是全球捷徑。這意味着我不必將應用程序專注於它的工作。
Windows API中的RegisterHotKey將允許您註冊全局熱鍵。您還需要使用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_HOTKEY消息。
@bwarner:'&H8'就是這樣 – Jay 2010-05-09 01:04:32