当前位置:编程学习 > C#/ASP.NET >>

帮忙一下?

怎么用registerhotkey和Unregisterhotkey按下热键弹出信息框“你好”,关闭时注销热键,请给个详细的代码?代码越详细越多分 --------------------编程问答-------------------- 沒有用過哦
幫你頂哈···· --------------------编程问答-------------------- up ... --------------------编程问答--------------------
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 --------------------编程问答-------------------- jf............
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,