VB.NET Tastendruch und Eingabe abfragen?


21.03.2020, 19:41

Die Abfrage soll so passieren, dass wenn ich GTA:SA:MP spiele, in dem Spiel die Tastatur Abfragen gemacht werden


22.03.2020, 00:20

ICH HABE ES DANKE EUCH


26.03.2020, 11:20

...

Überprüfen ob man /test geschrieben hat

:?:/test:: ;Bsp in AHK
...
return

WIe kann man das abfragen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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