Hotkey setzten

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von TVX.

    Es geht doch viel einfacher :) (zwar nicht die sicherste möglichkeit und ich weis nicht ob sie auf allen systemen leuft)

    VB.NET-Quellcode

    1. Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Int32) As Short

    kommt nach ganz oben unter

    VB.NET-Quellcode

    1. Public Class Form1


    dann in ein Timer event:

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. Dim hotkey1 As Boolean ' <-- hier erstmal den hotkey definieren
    3. hotkey1 = GetAsyncKeyState(Keys.F1) ' <-- dann sagen, wann er ausgelöst werden soll (in den falle F1)
    4. If hotkey1 = True Then ' < -- wenn er dann ausgelöst wird
    5. My.Computer.Keyboard.SendKeys("z.B.") ' <-- z.B. eine sache die passieren soll, wenn der hotkey aktiviert werden soll
    6. End If ' <-- das erklährt sich von selbst
    7. End Sub


    und fertig ist man ;)

    K_K schrieb:

    Es geht doch viel einfacher :) (zwar nicht die sicherste möglichkeit und ich weis nicht ob sie auf allen systemen leuft)

    VB.NET-Quellcode

    1. Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Int32) As Short

    kommt nach ganz oben unter

    VB.NET-Quellcode

    1. Public Class Form1


    dann in ein Timer event:

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. Dim hotkey1 As Boolean ' <-- hier erstmal den hotkey definieren
    3. hotkey1 = GetAsyncKeyState(Keys.F1) ' <-- dann sagen, wann er ausgelöst werden soll (in den falle F1)
    4. If hotkey1 = True Then ' < -- wenn er dann ausgelöst wird
    5. My.Computer.Keyboard.SendKeys("z.B.") ' <-- z.B. eine sache die passieren soll, wenn der hotkey aktiviert werden soll
    6. End If ' <-- das erklährt sich von selbst
    7. End Sub


    und fertig ist man ;)



    <-- z.B. eine sache die passieren soll, wenn der hotkey aktiviert werden soll

    was genau füge ich hier ein, das was er tippen soll also den code oder was?
    entschuldigt die frage aber bin noch anfänger in vb.
    (( An )) und (( Aus )) schalten mit (( F5 ))

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Declare Function RegisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer, ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
    4. Private Declare Sub UnregisterHotKey Lib "user32" (ByVal hWnd As IntPtr, ByVal id As Integer)
    5. Private Const Key_NONE As Integer = &H0
    6. Private Const WM_HOTKEY As Integer = &H312
    7. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. RegisterHotKey(Me.Handle, 1, Key_NONE, Keys.F5)
    9. End Sub
    10. Dim Merker As Integer = 1
    11. Protected Overrides Sub WndProc(ByRef m As Message)
    12. If m.Msg = WM_HOTKEY Then
    13. Select Case m.WParam
    14. Case CType(1, IntPtr)
    15. If Merker = 1 Then
    16. Label1.Text = "An" 'Hier einsetzen
    17. ElseIf Merker = 2 Then
    18. Label1.Text = "Aus" 'Und hier einsetzen
    19. End If
    20. Merker += 1
    21. If Merker = 3 Then Merker = 1
    22. End Select
    23. End If
    24. MyBase.WndProc(m)
    25. End Sub
    26. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    27. UnregisterHotKey(Me.Handle, 1)
    28. End Sub
    29. End Class