VB.NET Tastendruch und Eingabe abfragen?
Hallo,
ich habe in VB.NET einen Timer der jede Sekunde etwas überprüfen soll.
Mein Timer soll:
Überprüfen ob eine Taste F3 gedürckt wurde
F3:: ;Bsp in AHK
...
return
Überprüfen ob man /test geschrieben hat
:?:/test:: ;Bsp in AHK
...
return
WIe kann man das abfragen?
MfG
LuGaming
Die Abfrage soll so passieren, dass wenn ich GTA:SA:MP spiele, in dem Spiel die Tastatur Abfragen gemacht werden
ICH HABE ES DANKE EUCH
...
Überprüfen ob man /test geschrieben hat
:?:/test:: ;Bsp in AHK
...
return
WIe kann man das abfragen?
2 Antworten
Entferne den Timer, den brauchst du nicht. Verwende stattdessen Events.
An dein Form kannst du einen Handler für das KeyDown-Event anhängen und darin die gedrückte Taste abfragen. Das Property KeyPreview sollltest du zuvor aber auf True setzen.
Wenn du auch außerhalb deiner VB.NET-Anwendung Tastendrücke registrieren möchtest, lies hier.
Willst Du die Eingabe UNSICHTBAR machen!
Dann stehen Dir zwei bzw. drei Ereignisse zur Verfügung:
Vorher dafür sorgen, dass die Eingaben an die Form-Ereignisse gemeldet werden mit:
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Dim Nr As Integer = e.KeyCode
Select Case Nr
Case 13 ' Enter
' ---
Case 17 ' STRG
'---
Case 114 'F3 #####
Case 48 ' 0
'---
End Select
End Sub
Dim Tx As String
Private Sub Form1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
If e.KeyChar = Chr(13) Then
Select Case Tx
Case "/Test"
MsgBox(Tx)
Case "0023"
MsgBox(Tx)
End Select
Tx = ""
Else
Tx = Tx + e.KeyChar
End If
End Sub
Das Dritte Ereignis Ist KeyUp, dass Du z.B. . für die Druck-Taste brauchst.
Mit einer TextBox ist die Eingabe sichtbar und leichter zu verarbeiten.
Viel Spaß!
Horst