Hallo,
Ich möchte einen Keybinder erstellen und benötige hierfür Hotkeys.
Nun habe ich das Problem, wenn ich den Hotkey gedrückt halte, fängt mein keybinder an zu spammen, das darf er aber nicht. ich möchte, dass wenn die Taste gedrückt wird, er nur einmal die Keybinds abschikkt egal wie lange man den Hotkey gedrückt hält.
so hier nach anweisung von @RodFromGermany:
mein ausgedünnter script:
Ich hoffe so ist es einfacher mir einen lösungsvorschlag zu machen
Ich möchte einen Keybinder erstellen und benötige hierfür Hotkeys.
Nun habe ich das Problem, wenn ich den Hotkey gedrückt halte, fängt mein keybinder an zu spammen, das darf er aber nicht. ich möchte, dass wenn die Taste gedrückt wird, er nur einmal die Keybinds abschikkt egal wie lange man den Hotkey gedrückt hält.
so hier nach anweisung von @RodFromGermany:
mein ausgedünnter script:
VB.NET-Quellcode
- Public Class Form1
- Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
- Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer)
- Private Const Key_NONE As Integer = &H0
- Private Const WM_HOTKEY As Integer = &H312
- Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
- If CheckBox1.Checked = True Then
- RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.D1)
- Else
- UnregisterHotKey(Me.Handle, 1)
- End If
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- End Sub
- Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
- MyBase.WndProc(m)
- If m.Msg = WM_HOTKEY Then
- Select Case m.WParam
- Case 1
- SendKeys.Send("t/carkey{ENTER}")
- End Select
- End If
- End Sub
- End Class
Ich hoffe so ist es einfacher mir einen lösungsvorschlag zu machen
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Zohan97“ ()