Brauche Hilfe bei Keybinder

  • Guten Abend Community.
    Ich habe vor einen Keybinder zu machen.
    Das Fenster mit Koda habe ich schon fertig. Nun weiß ich leider nicht
    mehr weiter. Hier ist mein Script:

    Spoiler anzeigen
    [autoit]

    ; Script Start

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Users\Alex\Desktop\Koda GUI's\Keybinder GUI.kxf
    $Form1 = GUICreate("SA:MP Keybinder by cOraXx", 1290, 858, 196, 126)
    $Input1 = GUICtrlCreateInput("", 8, 8, 417, 21)
    $Combo1 = GUICtrlCreateCombo("", 432, 8, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 528, 8, 65, 25)
    $Input2 = GUICtrlCreateInput("", 8, 32, 417, 21)
    $Input3 = GUICtrlCreateInput("", 8, 56, 417, 21)
    $Input4 = GUICtrlCreateInput("", 8, 80, 417, 21)
    $Input5 = GUICtrlCreateInput("", 8, 104, 417, 21)
    $Input6 = GUICtrlCreateInput("", 8, 128, 417, 21)
    $Input7 = GUICtrlCreateInput("", 8, 152, 417, 21)
    $Input8 = GUICtrlCreateInput("", 8, 176, 417, 21)
    $Input9 = GUICtrlCreateInput("", 8, 200, 417, 21)
    $Input0 = GUICtrlCreateInput("", 8, 224, 417, 21)
    $Combo2 = GUICtrlCreateCombo("", 432, 32, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo3 = GUICtrlCreateCombo("", 432, 56, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo4 = GUICtrlCreateCombo("", 432, 80, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo5 = GUICtrlCreateCombo("", 432, 104, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo6 = GUICtrlCreateCombo("", 432, 128, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo7 = GUICtrlCreateCombo("", 432, 152, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo8 = GUICtrlCreateCombo("", 432, 176, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo9 = GUICtrlCreateCombo("", 432, 200, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Combo0 = GUICtrlCreateCombo("", 432, 224, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0")
    $Checkbox2 = GUICtrlCreateCheckbox("Aktivieren", 528, 32, 65, 25)
    $Checkbox3 = GUICtrlCreateCheckbox("Aktivieren", 528, 56, 65, 25)
    $Checkbox4 = GUICtrlCreateCheckbox("Aktivieren", 528, 80, 65, 25)
    $Checkbox5 = GUICtrlCreateCheckbox("Aktivieren", 528, 104, 65, 25)
    $Checkbox6 = GUICtrlCreateCheckbox("Aktivieren", 528, 128, 65, 25)
    $Checkbox7 = GUICtrlCreateCheckbox("Aktivieren", 528, 152, 65, 25)
    $Checkbox8 = GUICtrlCreateCheckbox("Aktivieren", 528, 176, 65, 25)
    $Checkbox9 = GUICtrlCreateCheckbox("Aktivieren", 528, 200, 65, 25)
    $Checkbox0 = GUICtrlCreateCheckbox("Aktivieren", 528, 224, 65, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]


    Ich brauche Hilfe bei:

    Ich möchte das sobald bei der Checkbox ein Hacken ist, das er den Key von der Combobox
    der ausgewählt wurde mit dem Inhalt des
    Inputfelds verknüpft wird.

    Das heißt:

    Ich schreibe ins Inputfeld: Ich bin Alex
    Wähle beim Combo die 1 aus
    und setze einen Hacken bei der Checkbox.
    Das setzen des Hackens in der Checkbox soll
    darstellen ob der Key nun aktiviert ist.

    Dann soll folgendes passieren.

    Sobald ich den Knopf drücke denn
    ich in der Combobox ausgesucht habe,
    soll der Inhalt geschrieben werden
    den ich eingegeben habe.


    Bitte helft mir :(

    4 Mal editiert, zuletzt von cOraXx (2. Dezember 2010 um 07:37)

  • Hi,

    Ersetze das hier, durch deine While-Schleife:
    Warnung: Rekursion möglich :D

    [autoit]

    Func _Keybind()
    If @HotKeyPressed = GUICtrlRead($Combo1) Then
    Send(GUICtrlRead($Input1), 1)
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo1), "_Keybind")
    Else
    HotKeySet(GUICtrlRead($Combo1))
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Ich hab mir das Script von dir angeschaut was Du mir gegeben hast,
    und es muss eigentlich funktionieren. Aber bei mir funktioniert ist es nicht.

    Hier ist noch einmal mein Script + deinem Script:

    Spoiler anzeigen
    [autoit]

    ; Script Start

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Users\Alex\Desktop\Koda GUI's\Keybinder GUI.kxf
    $Form1 = GUICreate("SA:MP Keybinder by cOraXx", 1290, 858, 196, 126)
    $Input1 = GUICtrlCreateInput("", 8, 8, 417, 21)
    $Combo1 = GUICtrlCreateCombo("", 432, 8, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Checkbox1 = GUICtrlCreateCheckbox("Aktivieren", 528, 8, 65, 25)
    $Input2 = GUICtrlCreateInput("", 8, 32, 417, 21)
    $Input3 = GUICtrlCreateInput("", 8, 56, 417, 21)
    $Input4 = GUICtrlCreateInput("", 8, 80, 417, 21)
    $Input5 = GUICtrlCreateInput("", 8, 104, 417, 21)
    $Input6 = GUICtrlCreateInput("", 8, 128, 417, 21)
    $Input7 = GUICtrlCreateInput("", 8, 152, 417, 21)
    $Input8 = GUICtrlCreateInput("", 8, 176, 417, 21)
    $Input9 = GUICtrlCreateInput("", 8, 200, 417, 21)
    $Input0 = GUICtrlCreateInput("", 8, 224, 417, 21)
    $Combo2 = GUICtrlCreateCombo("", 432, 32, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo3 = GUICtrlCreateCombo("", 432, 56, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo4 = GUICtrlCreateCombo("", 432, 80, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo5 = GUICtrlCreateCombo("", 432, 104, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo6 = GUICtrlCreateCombo("", 432, 128, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo7 = GUICtrlCreateCombo("", 432, 152, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo8 = GUICtrlCreateCombo("", 432, 176, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo9 = GUICtrlCreateCombo("", 432, 200, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo0 = GUICtrlCreateCombo("", 432, 224, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Checkbox2 = GUICtrlCreateCheckbox("Aktivieren", 528, 32, 65, 25)
    $Checkbox3 = GUICtrlCreateCheckbox("Aktivieren", 528, 56, 65, 25)
    $Checkbox4 = GUICtrlCreateCheckbox("Aktivieren", 528, 80, 65, 25)
    $Checkbox5 = GUICtrlCreateCheckbox("Aktivieren", 528, 104, 65, 25)
    $Checkbox6 = GUICtrlCreateCheckbox("Aktivieren", 528, 128, 65, 25)
    $Checkbox7 = GUICtrlCreateCheckbox("Aktivieren", 528, 152, 65, 25)
    $Checkbox8 = GUICtrlCreateCheckbox("Aktivieren", 528, 176, 65, 25)
    $Checkbox9 = GUICtrlCreateCheckbox("Aktivieren", 528, 200, 65, 25)
    $Checkbox0 = GUICtrlCreateCheckbox("Aktivieren", 528, 224, 65, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind()
    If @HotKeyPressed = GUICtrlRead($Combo1) Then
    Send(GUICtrlRead($Input1), 1)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo1), "_Keybind")
    Else
    HotKeySet(GUICtrlRead($Combo1))
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Hab das Skript aus Beitrag 5 jetzt bei mir ausgeführt und es funktioniert...
    ...aber nur für die oberste Checkbox ;)

    Für die anderen Checkboxen darfst du ran :D

    [Edit]
    @Rekursion
    Falls du den Keybind mit der 1. Checkbox hinkriegst.
    Dann gib mal in das Input Feld: a1
    und in der Combobox: 1
    an. Dann findest du raus was eine Rekursion ist :rofl:

  • Ok. Jetzt funktioniert ist auch bei mir.
    Das mit der Rekursion ist scheiße halt xD
    Kann man das beheben?

    Und vielen dank für deine Hilfe.

  • Kann man das beheben?


    Ganz einfach sogar ;)

    [autoit]


    Func _Keybind()
    If @HotKeyPressed = GUICtrlRead($Combo1) Then
    HotKeySet(GUICtrlRead($Combo1))
    Send(GUICtrlRead($Input1), 1)
    HotKeySet(GUICtrlRead($Combo1), "_Keybind")
    EndIf
    EndFunc

    [/autoit]

    Teste mal aus was passiert, wenn du bei einem, mit Checkbox gesetzten, Keybind,
    das Input- oder das Combo-Feld änderst ;)

  • Hallo

    Wenn ich den beherigen Scriptverlauf folge, kann ich
    nur sehen das die Checkboxen ak/deaktivierbar sind.
    Unter Combo1 (1) und Input bleibt alles wie es ist.

  • Unter Combo1 (1) und Input bleibt alles wie es ist.


    Das soll ja so sein ;)
    Der User gibt Daten in Input und Combo ein. (Z.B.: Input: Hallo; Combo: 1)
    Dann wird mit der Checkbox der Keybind aktiviert!

    Geht der User nun z.B. in einen Editor und drückt dort die 1
    Dann steht im Editor: Hallo

  • Cool
    Man achte auf die Feinheiten
    Aber ich hatte ne Vorstellung das der Input Text gehalten wird und jede erneute Combo Wahl der jeweilige Text in der Input erscheint.
    Aber ist ja Hotkey Basis.
    Oki thx

  • Okey. Der Script läuft jetzt perfekt. Nur noch eine Sache.
    Ich habe in Koda 10 weitere Checkboxen hinzugefügt,
    wenn sie angekreuzt sind, soll nach dem eingegebenem
    Text ENTER gedrückt werden. Wenn sie nicht angekreuzt werden,
    dann wird kein ENTER am Ende des geschriebenem gedrückt.

    Wie mache ich das?

    Soweit ist nun mein Script:

    Spoiler anzeigen
    [autoit]

    ; Script Start

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Users\Alex\Desktop\Koda GUI's\Keybinder GUI.kxf
    $Form1 = GUICreate("SA:MP Keybinder by cOraXx", 1290, 858, 196, 126)
    $Input1 = GUICtrlCreateInput("", 8, 8, 417, 21)
    $Combo1 = GUICtrlCreateCombo("", 432, 8, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Checkbox1 = GUICtrlCreateCheckbox("Aktivieren", 528, 8, 65, 25)
    $Input2 = GUICtrlCreateInput("", 8, 32, 417, 21)
    $Input3 = GUICtrlCreateInput("", 8, 56, 417, 21)
    $Input4 = GUICtrlCreateInput("", 8, 80, 417, 21)
    $Input5 = GUICtrlCreateInput("", 8, 104, 417, 21)
    $Input6 = GUICtrlCreateInput("", 8, 128, 417, 21)
    $Input7 = GUICtrlCreateInput("", 8, 152, 417, 21)
    $Input8 = GUICtrlCreateInput("", 8, 176, 417, 21)
    $Input9 = GUICtrlCreateInput("", 8, 200, 417, 21)
    $Input10 = GUICtrlCreateInput("", 8, 224, 417, 21)
    $Combo2 = GUICtrlCreateCombo("", 432, 32, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo3 = GUICtrlCreateCombo("", 432, 56, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo4 = GUICtrlCreateCombo("", 432, 80, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo5 = GUICtrlCreateCombo("", 432, 104, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo6 = GUICtrlCreateCombo("", 432, 128, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo7 = GUICtrlCreateCombo("", 432, 152, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo8 = GUICtrlCreateCombo("", 432, 176, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo9 = GUICtrlCreateCombo("", 432, 200, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Combo10 = GUICtrlCreateCombo("", 432, 224, 89, 25)
    GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|0|F1|F2|F3|F4|F5|F6|F7|F8|F9|F10|F11|F12|NUMPAD1|NUMPAD2|NUMPAD3|NUMPAD4|NUMPAD5|NUMPAD6|NUMPAD7|NUMPAD8|NUMPAD9|NUMPAD0|")
    $Checkbox2 = GUICtrlCreateCheckbox("Aktivieren", 528, 32, 65, 25)
    $Checkbox3 = GUICtrlCreateCheckbox("Aktivieren", 528, 56, 65, 25)
    $Checkbox4 = GUICtrlCreateCheckbox("Aktivieren", 528, 80, 65, 25)
    $Checkbox5 = GUICtrlCreateCheckbox("Aktivieren", 528, 104, 65, 25)
    $Checkbox6 = GUICtrlCreateCheckbox("Aktivieren", 528, 128, 65, 25)
    $Checkbox7 = GUICtrlCreateCheckbox("Aktivieren", 528, 152, 65, 25)
    $Checkbox8 = GUICtrlCreateCheckbox("Aktivieren", 528, 176, 65, 25)
    $Checkbox9 = GUICtrlCreateCheckbox("Aktivieren", 528, 200, 65, 25)
    $Checkbox10 = GUICtrlCreateCheckbox("Aktivieren", 528, 224, 65, 25)
    $Checkbox11 = GUICtrlCreateCheckbox("ENTER", 600, 8, 65, 25)
    $Checkbox12 = GUICtrlCreateCheckbox("ENTER", 600, 32, 65, 25)
    $Checkbox13 = GUICtrlCreateCheckbox("ENTER", 600, 56, 65, 25)
    $Checkbox14 = GUICtrlCreateCheckbox("ENTER", 600, 80, 65, 25)
    $Checkbox15 = GUICtrlCreateCheckbox("ENTER", 600, 104, 65, 25)
    $Checkbox16 = GUICtrlCreateCheckbox("ENTER", 600, 128, 65, 25)
    $Checkbox17 = GUICtrlCreateCheckbox("ENTER", 600, 152, 65, 25)
    $Checkbox18 = GUICtrlCreateCheckbox("ENTER", 600, 176, 65, 25)
    $Checkbox19 = GUICtrlCreateCheckbox("ENTER", 600, 200, 65, 25)
    $Checkbox20 = GUICtrlCreateCheckbox("ENTER", 600, 224, 65, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Func _Keybind1()
    If @HotKeyPressed = GUICtrlRead($Combo1) Then
    HotKeySet(GUICtrlRead($Combo1))
    Send(GUICtrlRead($Input1),1)
    HotKeySet(GUICtrlRead($Combo1), "_Keybind1")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind2()
    If @HotKeyPressed = GUICtrlRead($Combo2) Then
    HotKeySet(GUICtrlRead($Combo2))
    Send(GUICtrlRead($Input2), 1)
    HotKeySet(GUICtrlRead($Combo2), "_Keybind2")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind3()
    If @HotKeyPressed = GUICtrlRead($Combo3) Then
    HotKeySet(GUICtrlRead($Combo3))
    Send(GUICtrlRead($Input3), 1)
    HotKeySet(GUICtrlRead($Combo3), "_Keybind3")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind4()
    If @HotKeyPressed = GUICtrlRead($Combo4) Then
    HotKeySet(GUICtrlRead($Combo4))
    Send(GUICtrlRead($Input4), 1)
    HotKeySet(GUICtrlRead($Combo4), "_Keybind4")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind5()
    If @HotKeyPressed = GUICtrlRead($Combo5) Then
    HotKeySet(GUICtrlRead($Combo5))
    Send(GUICtrlRead($Input5), 1)
    HotKeySet(GUICtrlRead($Combo5), "_Keybind5")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind6()
    If @HotKeyPressed = GUICtrlRead($Combo6) Then
    HotKeySet(GUICtrlRead($Combo6))
    Send(GUICtrlRead($Input6), 1)
    HotKeySet(GUICtrlRead($Combo6), "_Keybind6")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind7()
    If @HotKeyPressed = GUICtrlRead($Combo7) Then
    HotKeySet(GUICtrlRead($Combo7))
    Send(GUICtrlRead($Input7), 1)
    HotKeySet(GUICtrlRead($Combo7), "_Keybind7")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind8()
    If @HotKeyPressed = GUICtrlRead($Combo8) Then
    HotKeySet(GUICtrlRead($Combo8))
    Send(GUICtrlRead($Input8), 1)
    HotKeySet(GUICtrlRead($Combo8), "_Keybind8")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind9()
    If @HotKeyPressed = GUICtrlRead($Combo9) Then
    HotKeySet(GUICtrlRead($Combo9))
    Send(GUICtrlRead($Input9), 1)
    HotKeySet(GUICtrlRead($Combo9), "_Keybind9")
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Keybind10()
    If @HotKeyPressed = GUICtrlRead($Combo10) Then
    HotKeySet(GUICtrlRead($Combo10))
    Send(GUICtrlRead($Input10), 1)
    HotKeySet(GUICtrlRead($Combo10), "_Keybind10")
    EndIf
    EndFunc
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo1), "_Keybind1")
    Else
    HotKeySet(GUICtrlRead($Combo1))
    EndIf

    Case $Checkbox2
    If GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo2), "_Keybind2")
    Else
    HotKeySet(GUICtrlRead($Combo2))
    EndIf

    Case $Checkbox3
    If GUICtrlRead($Checkbox3) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo3), "_Keybind3")
    Else
    HotKeySet(GUICtrlRead($Combo3))
    EndIf

    Case $Checkbox4
    If GUICtrlRead($Checkbox4) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo4), "_Keybind4")
    Else
    HotKeySet(GUICtrlRead($Combo4))
    EndIf

    Case $Checkbox5
    If GUICtrlRead($Checkbox5) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo5), "_Keybind5")
    Else
    HotKeySet(GUICtrlRead($Combo5))
    EndIf

    Case $Checkbox6
    If GUICtrlRead($Checkbox6) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo6), "_Keybind6")
    Else
    HotKeySet(GUICtrlRead($Combo6))
    EndIf

    Case $Checkbox7
    If GUICtrlRead($Checkbox7) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo7), "_Keybind7")
    Else
    HotKeySet(GUICtrlRead($Combo7))
    EndIf

    Case $Checkbox8
    If GUICtrlRead($Checkbox8) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo8), "_Keybind8")
    Else
    HotKeySet(GUICtrlRead($Combo8))
    EndIf

    Case $Checkbox9
    If GUICtrlRead($Checkbox9) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo9), "_Keybind9")
    Else
    HotKeySet(GUICtrlRead($Combo9))
    EndIf

    Case $Checkbox10
    If GUICtrlRead($Checkbox10) = $GUI_CHECKED Then
    HotKeySet(GUICtrlRead($Combo10), "_Keybind10")
    Else
    HotKeySet(GUICtrlRead($Combo10))
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Das hab ich mir fast gedacht das du so weiter machen willst.
    Lass das Thema mal lieber, das wär denn nen Bot.

    ...und btw. dein Spoiler ist echt miess mit solchen "Kraftausdrücken"

  • Die Difinition von BOT ist das man ein Programm startet, und das Programm erledigt für
    dich Sachen die du eingestellt hast ohne etwas zu machen.

    Ein Keybinder verknüpft Texte mit einem Knopf und gibt sie beim drücken des Knopfes
    wieder heraus. Daher auch der Begriff "Keybind"

    Key = Knopf/Schlüssel
    Bind = Binden/Verbinden.

    Das was ich hier mache ist kein Bot.


    Bei mir hat sich nun folgendes Problem ereignet:

    Inputfeld1 = Inhalt = Alex1 | Combo2 = Ausgewählter Key = 2
    Inputfeld2 = Inhalt = Alex2 | Combo1 = Ausgewählter Key = 1

    Sobald ich 2 Drücke, wird Alex geschrieben. Da nach Alex die 1 kommt, drück er die 1
    und wenn man die 1 drückt, dann erscheint Alex2

    Heraus kommt: AlexAlex2

    2 Mal editiert, zuletzt von cOraXx (22. November 2010 um 17:00)

  • Klaro , aber sobald du nun Entern willst per Script ist es automatisch
    und somit hast du den allgemein definierten Bot.

    Vom Script her machst du alles ziemlich umständlich, du brauchst nicht je Func kopieren
    sondern innerhalb einer erweitern.

  • Ich wusste nicht wie ich das machen sollte. Also habe ich es so gemacht, wie ich
    es dachte das es funktioniert. Und es funktioniert.

    Kann mir pls einer bei dem Problem hier helfen?

    Inputfeld1 = Inhalt = Alex1 | Combo2 = Ausgewählter Key = 2
    Inputfeld2 = Inhalt = Alex2 | Combo1 = Ausgewählter Key = 1

    Sobald ich 2 Drücke, wird Alex geschrieben. Da nach Alex die 1 kommt, drück er die 1
    und wenn man die 1 drückt, dann erscheint Alex2

    Heraus kommt: AlexAlex2

    Kann mir da wer pls helfen?

    2 Mal editiert, zuletzt von cOraXx (22. November 2010 um 17:10)

  • Ich habe so was auch mal gemacht... Hier mal eine überarbeitete Version meines alten Scripts. Vielleicht kannst du dir ja was abgucken ;).

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIListView.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $aKeyBinds[1][2]
    $aKeyBinds[0][0] = 0

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate("KeyBinder", 400, 385)
    $cListView_Keys = GUICtrlCreateListView("Key|Text", 5, 5, 390, 290)
    $cInput_Key = GUICtrlCreateInput("Key", 5, 300, 60, 20)
    $cInput_Text = GUICtrlCreateInput("Text", 70, 300, 325, 20)
    $cButton_AddKey = GUICtrlCreateButton("Hinzufügen", 5, 325, 390, 25)
    $cButton_DeleteKey = GUICtrlCreateButton("Löschen", 5, 355, 390, 25)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $hWnd)
    GUICtrlSetOnEvent($cButton_AddKey, "_AddKeyBind")
    GUICtrlSetOnEvent($cButton_DeleteKey, "_DeleteKeyBind")

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _AddKeyBind()
    If GUICtrlRead($cInput_Key) = "" Or GUICtrlRead($cInput_Text) = "" Then Return

    [/autoit] [autoit][/autoit] [autoit]

    $aKeyBinds[0][0] += 1
    ReDim $aKeyBinds[$aKeyBinds[0][0] + 1][2]

    [/autoit] [autoit][/autoit] [autoit]

    $aKeyBinds[$aKeyBinds[0][0]][0] = GUICtrlRead($cInput_Key)
    $aKeyBinds[$aKeyBinds[0][0]][1] = GUICtrlRead($cInput_Text)
    HotKeySet($aKeyBinds[$aKeyBinds[0][0]][0], "_HotKeyEvent")
    _UpdateKeyList()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _HotKeyEvent()
    For $i = 1 To $aKeyBinds[0][0]
    If @HotKeyPressed = $aKeyBinds[$i][0] Then
    HotKeySet($aKeyBinds[$i][0])
    Send($aKeyBinds[$i][1])
    HotKeySet($aKeyBinds[$i][0], "_HotKeyEvent")
    EndIf
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _UpdateKeyList()
    _GUICtrlListView_BeginUpdate($cListView_Keys)
    _GUICtrlListView_DeleteAllItems($cListView_Keys)
    For $i = 1 To $aKeyBinds[0][0]
    GUICtrlCreateListViewItem($aKeyBinds[$i][0] & "|" & $aKeyBinds[$i][1], $cListView_Keys)
    Next
    _GUICtrlListView_EndUpdate($cListView_Keys)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _DeleteKeyBind()
    $iCurSel = _GUICtrlListView_GetSelectionMark($cListView_Keys)
    If $iCurSel = -1 Then Return

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet($aKeyBinds[$iCurSel + 1][0])
    _ArrayDelete($aKeyBinds, $iCurSel + 1)
    $aKeyBinds[0][0] -= 1
    _UpdateKeyList()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Exit
    EndFunc

    [/autoit]


    In meinem Script wird der Hotkey während vor dem Send Befehl temporär deaktiviert, so kannst du dein Problem umgehen ;) .

  • Sehr schöner Keybinder. Nur leider kann man ihn nicht deaktivieren nachdem man ihn hinzugefügt hat nur löschen...
    Kannst Du mir bitte verraten wie der Befehl lautet,
    das er beim nächsten Input wenn dort der Key steht der als nächstes ausgewählt ist
    nicht gedrückt wird?

  • Zitat

    Kannst Du mir bitte verraten wie der Befehl lautet,
    das er beim nächsten Input wenn dort der Key steht der als nächstes ausgewählt ist
    nicht gedrückt wird?


    Wie schon gesagt, du kannst während der Text gesendet wird temporär alle HotKeySet Befehl deaktivieren.