Global Hotkey wird nicht erkannt

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Global Hotkey wird nicht erkannt

    Ich habe vor einiger Zeit einen Code für globale Hotkeys im Netz gefunden und ich hatte bisher noch nie Probleme damit, aber jetzt ist mir aufgefallen, dass es nicht erkennt wenn ich die STRG Taste drücke.


    Quellcode

    1. Public Class frmMain
    2. Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
    3. Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer)
    4. Private Const Key_NONE As Integer = &H0
    5. Private Const WM_HOTKEY As Integer = &H312
    6. Protected Overrides Sub WndProc(ByRef m As Message)
    7. If m.Msg = WM_HOTKEY Then
    8. Select Case m.WParam
    9. Case 1
    10. MsgBox("strg gedrückt!")
    11. End Select
    12. MyBase.WndProc(m)
    13. End Sub
    14. Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    15. RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.LControlKey)
    16. End Sub
    17. Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    18. UnregisterHotKey(Me.Handle, 1)
    19. End Sub



    Theoretisch müsste er mir eine MessageBox geben sobald ich den linken Control Key gedrückt habe.
    Wäre Super wenn mir jemand helfen könnte :thumbup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pi77Bull“ ()

    Declare Function ist noch aus Zeiten von VB6 und man soll am besten DllImports nehmen.

    Suche mal nach PInvoke, da wird das glaub ich gezeigt, wie man die Imports zu schreiben hat.

    ~ Alex-Digital :D
    ~ Alex-Digital :D

    if(!Internet.VBP.Get<User>("Alex-Digital").IsOnline) this.Close(); :D