如何为你的应用程序设置热键?

启动工程后,在你的工程中添加一个标准模块,然后将下面的代码粘贴到模块的声明段中。

Option Explicit

Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Long) As Long

Declare Function DefWindowProc Lib "user32" _
Alias "DefWindowProcA" (ByVal hwnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long

Public Const WM_SETHOTKEY = &H32
Public Const WM_SHOWWINDOW = &H18
Public Const HK_SHIFTA = &H141 'Shift + A
Public Const HK_SHIFTB = &H142 'Shift * B
Public Const HK_CONTROLA = &H241 'Control + A
Public Const HK_ALTZ = &H45A 
请注意组合键的值必须以低/高位字节的格式进行声明。也就是说是一个十六进制的数字。
后两位是低端字节,如41=a;前两位是高端字节,如01=1=shift。

在窗体的Load事件中加入下面的代码:

Private Sub Form_Load()


Dim erg As Long
Me.WindowState = vbMinimized
'让windows知道你想要的热键。
erg& = SendMessage(Me.hwnd, WM_SETHOTKEY,HK_ALTZ, 0)
'检查函数是否执行成功
If erg& <> 1 Then
MsgBox "You need another hotkey", vbOKOnly,"Error"
End If
'告诉windows热键按下后做什么--显示窗口
erg& = DefWindowProc(Me.hwnd, WM_SHOWWINDOW,0, 0)

End Sub
按F5运行程序后,再按下ALT+Z就会看到结果了。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值