nach jedem tastenklick eine funktion aktivieren

  • hay habe
    eine frage wie kann ich es machen
    das egal auf welche taste man klickt
    die eigene tastenfunktion sendet und noch beim tastenklick eine func aktiviert test()

    mal ein beispiel davon was ich meine

    ich klicke auf
    a
    dann sendet er a und noch die funktion die bei
    func test()
    steht
    MFG

    Einmal editiert, zuletzt von lalaladen (3. Juni 2012 um 20:06)

  • Hm...
    Das könnte ein Keylogger werden, aber was solls, wollen wir mal nicht so misstrauisch sein. ;)

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

    For $iABC = 97 To 122
    HotKeySet(Chr($iABC),"_HotKey")
    Next

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

    For $iABC = 65 To 90
    HotKeySet(Chr($iABC),"_HotKey")
    Next

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

    Func _HotKey()
    HotKeySet(@HotKeyPressed)
    Send(@HotKeyPressed)
    ConsoleWrite("Pressed: " & @HotKeyPressed & @CRLF)
    EndFunc

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

    While Sleep(10)
    WEnd

    [/autoit]

    lg chess

    PS: Wenn die Mods/Admins etc. denken, dass das hier was Keylogger-Ähnliches wird, dann entschuldigung. ;)

    Einmal editiert, zuletzt von chesstiger (3. Juni 2012 um 19:13)

  • chesstiger
    thx nein es wird kein keyloger es wird was ganz anderes wenn es fertig es dann poste ich es hier im forum
    und keylogger scripts für autoit findet man genügende auf epvp da brauche ich kein selber machen :)

  • Ja, schlimm genug, dass sowas vorgefertigt im Internet kusiert, und ich hab grad noch was dazu gegeben.
    Na, sei's drum, wie du schon sagtest: Gibt's eh schon wie Sand am Meer. ;)

    Und bitte, kein Problem.

    lg chess

  • Zitat

    Gibt's eh schon wie Sand am Meer.

    Sagte der Drogendealer zum Richter... ;)
    Naja aber jetzt ist es ja eh schon 'zu spät' ^^
    Ach ja und in deinem Scriptbeispiel ist ein Fehler im HotkeySet() in der ersten Schleife.

    LG
    Christoph :)

  • Hups, da ist mir was schiefgelaufen.^^
    Ich wollte erst die Ausgabe in MsgBoxen machen, hab mich dann aber doch umentschieden & hab aber vergessen, den Func-Namen im HotKeySet zu ändern. :S

    lg chess

  • @lalaladen: Das liegt daran, dass am Anfang von chesstigers Funktion der Hotkey deaktiviert wird. Da er am Ende der Funktion nicht neu erstellt wird kannst du logischer weise nicht 2 mal auf 'a' reagieren.... ;)

    LG
    Christoph :)

  • [autoit]

    start()
    Func start()
    For $iABC = 97 To 122
    HotKeySet(Chr($iABC),"_HotKey")
    Next

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

    For $iABC = 65 To 90
    HotKeySet(Chr($iABC),"_HotKey")
    Next
    EndFunc

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

    While Sleep(10)
    WEnd

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

    Func _HotKey()
    HotKeySet(@HotKeyPressed)
    Send(@HotKeyPressed)
    ConsoleWrite("Pressed: " & @HotKeyPressed & @CRLF)
    start()
    test()
    EndFunc

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

    Func test()
    MsgBox(0,"titel","test")
    EndFunc

    [/autoit]

    also so funktioniert es

  • OMG weist du was Rekursion ist? :D
    Ändere einfach die Funktion _Hotkey so ab und lass alles andere so wie es vorher war... ;)

    [autoit]

    Func _HotKey()
    HotKeySet(@HotKeyPressed)
    Send(@HotKeyPressed)
    ConsoleWrite("Pressed: " & @HotKeyPressed & @CRLF)
    HotKeySet(@HotKeyPressed,'_Hotkey')
    test()
    EndFunc

    [/autoit]

    LG
    Christoph :)

  • [autoit]


    For $iABC = 97 To 122
    HotKeySet(Chr($iABC),"_HotKey")
    Next

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

    For $iABC = 65 To 90
    HotKeySet(Chr($iABC),"_HotKey")
    Next

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

    While Sleep(10)
    WEnd

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

    Func _HotKey()
    HotKeySet(@HotKeyPressed)
    Send(@HotKeyPressed)
    ConsoleWrite("Pressed: " & @HotKeyPressed & @CRLF)
    HotKeySet(@HotKeyPressed,"_HotKey")
    test()
    EndFunc

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

    Func test()
    MsgBox(0,"titel","test")
    EndFunc

    [/autoit]


    Dauert nicht so lange.^^

    lg chess

    Edit:
    Zu spät.^^