关于VB快捷键的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:36:36
我做了一个程序,运行的时候,就在托盘中了,我希望能设置一个快捷键来呼出程序的窗口(比如F8),有没有不用Timer控件的方法啊,用Timer控件太占用系统的资源了。我愿意出高分求一个能用的代码,搜了半天都找不到... ...

简单的

先添加一个模块,把下面的代码复制到模块里

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal OldwndProc As Long, ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Const GWL_WNDPROC = -4
Public OldwndProc As Long

Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal HotKeyID As Long, ByVal fsModifiers As Long, ByVal vKey As Long) As Long
Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Long, ByVal HotKeyID As Long) As Long

Public Const WM_HOTKEY = &H312
Public Const WM_NCDESTROY = &H82

Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT