Mausrad

  • Hallo,

    Ich schaffe es einfach nicht das Mausrad zu programmieren.
    Ich kann mit _IsPressed links und rechts programmieren,
    aber wie kann man diese Schritte mit dem Mausrad machen?

    Folgendes sollte passieren:

    Bewege ich das Mausrad 1 Schritt nach vorne
    dann soll jedesmal

    [autoit]


    Send("#{NUMPADADD}")

    [/autoit]


    gedrückt werden

    und wenn das Mausrad nach hinten gerollt wird jedesmal

    [autoit]


    Send("#{NUMPADSUB")

    [/autoit]


    Viele Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (26. Februar 2014 um 14:21)

  • Hallo Chip,

    merci, aber ich brauch trotzdem deine Hilfe.

    Ich habe mir MouseOnEvent heruntergeladen.
    Dann habe ich die AU3 ins Verzeichnis gemacht (Include)
    und mit einer Msgbox probiert!

    [autoit]


    #include "MouseOnEvent.au3"; ist im Scriptdirverzeichnis drin!

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

    $iPaused = False

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

    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_PausePlay", 0, 1)

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

    Sleep(5000)

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

    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT)

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

    Func _PausePlay()
    MsgBox(4096,"","")
    $iPaused = Not $iPaused
    ConsoleWrite("Paused: " & $iPaused & @CRLF)
    EndFunc

    [/autoit]

    Fehlt da noch was?


    Liebe Grüße
    Ilse

    • Offizieller Beitrag

    Fehlt da noch was?


    Ja, die Hauptschleife - und das Aufheben der Eventzuordnung sollte am Programmende erfolgen ;)

    [autoit]

    #include "MouseOnEvent.au3"; ist im Scriptdirverzeichnis drin!
    ; setze hier noch einen Hotkey um das Skript beenden zu können, sonst bleibst du ewig in der Hauptschleife ;)
    $iPaused = False
    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_PausePlay", 0, 1)

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

    While True
    Sleep(50)
    WEnd
    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT) ; kannst du dir auch schenken, Programm ist dann eh beendet

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

    Func _PausePlay()
    MsgBox(4096,"","")
    $iPaused = Not $iPaused
    ConsoleWrite("Paused: " & $iPaused & @CRLF)
    EndFunc

    [/autoit]
  • Hallo Bugfix,

    es passiert leider immer noch nichts!

    [autoit]


    #include "MouseOnEvent.au3"; ist im Scriptdirverzeichnis drin!
    ; setze hier noch einen Hotkey um das Skript beenden zu können, sonst bleibst duewig in der Hauptschleife ;)
    HotKeySet("{ESC}", "Terminate")
    $iPaused = False
    _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_PausePlay", 0, 1)

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

    While True
    Sleep(50)
    WEnd
    ;_MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT) : kannst du dir auch schenken, Programm ist dann eh beendet

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

    Func _PausePlay()
    MsgBox(4096,"","")
    $iPaused = Not $iPaused
    ConsoleWrite("Paused: " & $iPaused & @CRLF)
    EndFunc

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

    Func Terminate()
    Exit 0

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

    EndFunc ;==>Terminate

    [/autoit]


    EDIT:
    Hab's geschafft!

    DANKE!

    Grüße
    Ilse

    Einmal editiert, zuletzt von Ilse (26. Februar 2014 um 14:21)

  • Du solltest auch den richtigen Wert prüfen ;). Das Mausradscrollen ist $MOUSE_WHEELSCROLLDOWN_EVENT und nicht $MOUSE_WHEELDOWN_EVENT.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.