帮忙一下?

asdf1234567890abc 2010-03-23 12:08:06
怎么用registerhotkey和Unregisterhotkey按下热键弹出信息框“你好”,关闭时注销热键,请给个详细的代码?代码越详细越多分
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingyuebuyu 2010-03-23
  • 打赏
  • 举报
回复
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


RegisterHotKey
http://baike.baidu.com/view/1080084.htm

第二参数的范围是0xC000-0xFFFF
Peter200694013 2010-03-23
  • 打赏
  • 举报
回复
up ...
messi_yang 2010-03-23
  • 打赏
  • 举报
回复
沒有用過哦
幫你頂哈····
java_wxp 2010-03-23
  • 打赏
  • 举报
回复
jf............

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧