Tastendruch Ignorieren und Send ausführen

  • Halli Hallo,

    habe da mal wieder ein kleines Problem, und zwar wollte ich folgenden machen...

    Wenn ich z.B. Num1in einem Textfeld drücke, wird ja 1 geschrieben... nun wollte ich das aber so haben das nicht die 1 gesendet wird sondern z.B. Num1... also die Tastenbezeichnung...

    Wie realiesiere ich nun das die 1 nicht vorran geschrieben wird?


    Natürlich habe ich mir auch schon die Hilfe angeschaut und folgendes gefunden...


    [autoit]

    BlockInput(1)

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

    Run("notepad")
    WinWaitActive("[CLASS:Notepad]")
    Send("{F5}") ; Fügt Zeit und Datum ein

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

    BlockInput(0)

    [/autoit]


    Jetzt dachte ich mir ich schreibe das ganze so...


    [autoit]


    Run("notepad")
    WinWaitActive("[CLASS:Notepad]")
    while 1
    if _ispressed(61) then
    BlockInput(1)
    send("Num1")
    BlockInput(0)
    exitloop
    wend
    endif

    [/autoit]


    Leider schreibt autoit die 1 mit weil das BlockInput zu spät konmt...
    Nur ich kann es nicht früher setzen da sonst mein Tastendruck auch ignoriert wird...

    Hoffe mir kann jemand helfen ;)

    mfg Drop_Dead

  • Ja dachte ich auch schon dran, problem ist nur das ich denn für jede Taste ein Hotkey set setzen müsste...

    Der Benutzer soll sich die Taste am Ende quasi selber aussuchen können... da hängt es halt grad bei mir

  • Wenn ich dich richtig verstehe willst du von User die Taste einstellen lassen können. Das kannst du ganz einfach mit nem Hotkey machen, bei dem du die Taste vorsert als Variable einträgst, und dann einfach vom User in ner GUI die Taste auswählen lässt od so.

    Hoffe das hilft

    Mfg

    Computers are like Airconditioning. They don´t work with open Windows.

  • hm ja das ist natürlich auch eine möglichkeit, jedoch auswählen aus einer liste? hmm wollte es halt gerne so machen

    ins textfeld klicken, taste drücken (z.B Num1) und dann wird auch Num1 gesendet und nicht 1 + Num1

  • oh.. also gehts nur über große umwege ?

    nagut dann werde ich mich mal schlau machen ;)

    danke für die infos @ all