16,554
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Declare Function RegisterHotKey Lib "user32.dll" Alias _
"RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean
Declare Function UnRegisterHotKey Lib "user32.dll" Alias _
"UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean
Const WM_HOTKEY = &H312
Const Key_ALT = &H1
Const Key_CONTROL = &H2
Const Key_SHIFT = &H4
Dim bolResult As Boolean
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
'取消注册上方向键
bolResult = UnRegisterHotKey(Handle, 100000)
If bolResult = False Then
MsgBox("UnRegister hot ctrl + key Up fail.")
End If
'取消注册下方向键
bolResult = UnRegisterHotKey(Handle, 100001)
If bolResult = False Then
MsgBox("UnRegister hot key Down fail.")
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'注册上方向键
bolResult = RegisterHotKey(Me.Handle, 100000, Key_CONTROL, Keys.Up)
If bolResult = False Then
MsgBox("Register hot ctrl + key Up fail.")
Me.Close()
Return
End If
'注册下方向键
bolResult = RegisterHotKey(Me.Handle, 100001, 0, Keys.Down)
If bolResult = False Then
MsgBox("Register hot key Down fail.")
Me.Close()
Return
End If
End Sub
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
Select Case m.WParam
'按下上方向键
Case 100000
MsgBox("你好")
MsgBox("press key up")
'按下下方向键
Case 100001
MsgBox("你好")
MsgBox("press key down")
End Select
End If
MyBase.WndProc(m)
End Sub
End Class