Problem mit HotKeySet() und Send()

  • Moin! Ich habe folgendes Problem:

    Wenn ich bei diesem Code die Taste y drücke, soll im aktiven Fenster w ausgegeben werden. Jedoch wird das w wiederum von der anderen HotKeySet-Zeile zu einem a umgewandelt, demnach steht dann im Editor bei Druck auf y nur ein a.

    [autoit]

    HotKeySet("y", "funce")
    HotKeySet("w", "funcz")

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

    While 1
    Sleep(5)
    WEnd

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

    Func funce()
    Sleep(5)
    Send("w")
    EndFunc

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

    Func funcz()
    Sleep(5)
    Send("a")
    EndFunc

    [/autoit]

    Wie kann ich nun erreichen, dass bei Eingabe von y ein w und bei Eingabe eines w ein a geschrieben wird?

    Gruß,
    Scripter

    Einmal editiert, zuletzt von 0815-Scripter (15. Juni 2011 um 15:02)

  • Bei _IsPressed wird dann aber der eingegebene Buchstabe auch noch ausgegeben, HotKeySet hat den ja abgefangen. Kann man den irgendwie "blockieren", sodass nur das ausgegeben wird, was in der Send-Funktion steht?

  • Spoiler anzeigen
    [autoit]

    HotKeySet("y", "funce")
    HotKeySet("w", "funcz")

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

    While 1
    Sleep(5)
    WEnd

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

    Func funce()
    HotKeySet("w")
    Sleep(5)
    Send("w")
    HotKeySet("w", "funcz")
    EndFunc

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

    Func funcz()
    HotKeySet("y")
    Sleep(5)
    Send("a")
    HotKeySet("y", "funce")
    EndFunc

    [/autoit]


    Gruß Andy

  • du hebst mit diesen zeilen das hotkeyset auf damit wenn du den buchstaben sendest der hotkeyset ihn nicht abfängt

  • Bei _IsPressed wird dann aber der eingegebene Buchstabe auch noch ausgegeben, HotKeySet hat den ja abgefangen. Kann man den irgendwie "blockieren", sodass nur das ausgegeben wird, was in der Send-Funktion steht?


    Naja, ich hätte dann 2 Varaiblen mit boolschen Werten deklariert - bei einem Funktionsaufruf würde dann die jeweils andere Funktion geblockt werden, da die Variable einen dementsprechenden Wert trägt.