安哥v 發表於 2017-12-2 18:34:21

乂Boyue乂 發表於 2017-12-2 18:34:22

If GetAsyncKeyState(Keys.F4) Then   '按下F4               
'你
'想
'做
'的
'事
End If

qwas963563 發表於 2017-12-2 18:39:27

利用 GetAsyncKeyState
判斷即可~

安哥v 發表於 2017-12-2 19:06:41

000x000 發表於 2017-12-2 20:27:54

本帖最後由 000x000 於 2017-12-2 20:28 編輯

比如CheckBox Text後加(&A)   <--A為快速鍵
例如功能為 無敵(&A) , 不過 我記得這好像不能換視窗按  你參考就好

lonelylove 發表於 2018-2-14 17:35:34

本帖最後由 lonelylove 於 2018-2-14 17:37 編輯

  哇..竟然扣分了...:'(

' --------------------------------------------------------------------------------------
    '声明注册热键API函数  
    Public Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As Integer, ByVal id As Integer,
                                                    ByVal fsModifiers As Integer, ByVal vk As Integer) As Integer
    '声明注销热键API函数  
    Public Declare Function UnregisterHotKey Lib "user32" (ByVal hWnd As Integer, ByVal id As Integer) As Integer

    Public Const WM_HOTKEY As Short = &H312S '热键消息ID,此值固定,不能修改  



    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load


        RegisterHotKey(Me.Handle.ToInt32, 1, Nothing, Keys.F3) '注册的热键为F3
        RegisterHotKey(Me.Handle.ToInt32, 2, Nothing, Keys.F5) '注册的热键为F5
        RegisterHotKey(Me.Handle.ToInt32, 3, Nothing, Keys.F2) '注册的热键为F2
    End Sub

    '窗体的消息处理函数  
    Protected Overrides Sub WndProc(ByRef m As Message)

        If m.Msg = WM_HOTKEY Then '判断是否为热键消息  
            Select Case m.WParam.ToInt32 '判断热键消息的注册ID  
                Case 1
                    If CheckBox5.Checked = True Then
                        CheckBox5.Checked = False
                    Else
                        CheckBox5.Checked = True
                    End If

                    ' 计数1 = 计数1 + 1      '两种方法
                    ' CheckBox5.Checked = True
                    ' If 计数1 > 1 Then
                    '    CheckBox5.Checked = False
                    '    计数1 = 0
                    ' End If
                Case 2
                    If CheckBox7.Checked = True Then
                        CheckBox7.Checked = False
                    Else
                        CheckBox7.Checked = True
                    End If

                Case 3
                    If CheckBox4.Checked = True Then
                        CheckBox4.Checked = False
                    Else
                        CheckBox4.Checked = True
                    End If


            End Select
        End If

        MyBase.WndProc(m) '循环监听消息  
    End Sub

    '最后别忘记注销热键哦  
    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        UnregisterHotKey(Me.Handle.ToInt32, Keys.F3)
        UnregisterHotKey(Me.Handle.ToInt32, Keys.F2)
        UnregisterHotKey(Me.Handle.ToInt32, Keys.F5)
    End Sub









頁: [1]
查看完整版本: vb2013請問如何寫一個可以在遊戲上啟動功能的熱鍵