Code:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Integer) As Integer
Public Function getKeyPress() As Integer
For i As Integer = 1 To 255
If GetAsyncKeyState(i) = -32767 Then
Return i
End If
Next i
End Function
Nutzen kannste das ganze dann in nem Timer, der guckt, ob eine bestimmte Tastenkombi gedrückt wurde (geht auch mit Shift, Alt, STRG):
Code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim key As Integer = getKeyPress()
Label2.Text = My.Computer.Keyboard.ShiftKeyDown.GetHashCode
Label3.Text = My.Computer.Keyboard.CtrlKeyDown.GetHashCode
Label4.Text = My.Computer.Keyboard.AltKeyDown.GetHashCode
If key <> 0 Then
Label1.Text = CStr(key)
Else : End If
Label5.Text = Label2.Text & Label3.Text & Label4.Text & Label1.Text
If Label5.Text = "<Deine Kombie>" Then
Timer1.Enabled = False
'Suchroutine
Timer2.Enabled = True 'Damit er nicht nocheinmal den HotKey macht
Else : End If
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Timer2.Enabled = False 'HotKey Abklingzeit ~400ms Intervall
Timer1.Enabled = True
End Sub