Gta San Andreas keybinder Frage

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von schroffl.

    Gta San Andreas keybinder Frage

    Guten Abend,
    ich möchte mir ein Keybinder mir VB machen (VB ist neuland für mich :D)
    Und zwar möchte ich das ich bei Taste meine eigene Taste auswählen kann und bei Aktion mein eigenen Text.
    Das er in Game wenn ich die Taste z. B. n drücke das dann "/me lacht." abgesendet wird.


    mfg
    N3xiz

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

    Für SA:MP gibt es extra eine API, die Entwicklung wurde zwar eingestellt aber man kann sie trotzdem noch runterladen.
    Falls du noch Hilfe brauchst bezüglich der API kannst du mir gerne 'ne PN schreiben.
    Ich hab' mich selbst schon mit der API beschäftigt und einen funktionierenden Keybinder hochgezogen.
    Zwar nichts besonderes, aber... es hat funktioniert ;)

    Gruß
    schroffl
    Du machst Hotkeys auf die Tasten:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Runtime.InteropServices
    2. Public Class Form1
    3. Public Const MOD_ALT As Integer = &H1 'Alt key
    4. Public Const WM_HOTKEY As Integer = &H312
    5. <DllImport("User32.dll")> _
    6. Public Shared Function RegisterHotKey(ByVal hwnd As IntPtr, _
    7. ByVal id As Integer, ByVal fsModifiers As Integer, _
    8. ByVal vk As Integer) As Integer
    9. End Function
    10. <DllImport("User32.dll")> _
    11. Public Shared Function UnregisterHotKey(ByVal hwnd As IntPtr, _
    12. ByVal id As Integer) As Integer
    13. End Function
    14. Private Sub Form1_Load(ByVal sender As System.Object, _
    15. ByVal e As System.EventArgs) Handles MyBase.Load
    16. RegisterHotKey(Me.Handle, 1, MOD_ALT, Keys.F1)
    17. '...
    18. End Sub
    19. Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
    20. If m.Msg = WM_HOTKEY Then
    21. Dim id As IntPtr = m.WParam
    22. Select Case (id.ToString)
    23. Case "1"
    24. 'An SA:MP senden
    25. End Select
    26. End If
    27. MyBase.WndProc(m)
    28. End Sub
    29. Private Sub Form1_FormClosing(ByVal sender As System.Object, _
    30. ByVal e As System.Windows.Forms.FormClosingEventArgs) _
    31. Handles MyBase.FormClosing
    32. UnregisterHotKey(Me.Handle, 1)
    33. End Sub
    34. End Class


    Und dann sendest du deinen Text an SA:MP: (ich glaube das geht irgenwie so)

    VB.NET-Quellcode

    1. My.Computer.Keyboard.SendKeys("t/lachen")