Prob. mit Maus

  • Huhu,

    also direkt mal vorne weg, ich bin nen Noob in Sachen AutoIT. =]

    Ich hab ein Script, was ich verändern möchte, dass Script soll lediglich als Vorlage dienen.

    Spoiler anzeigen
    [autoit]

    MsgBox(64, "0x33 ActiveIdler", "Press Ok to continue! Press F8 to Pause and ESC to Exit!")

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

    $timeInput = InputBox("Timer Settings", "How many second delay?", "20")
    run("notepad");
    $time = $timeInput*1000
    $lol = 1

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

    Global $Paused
    HotKeySet("{F8}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")

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

    While $lol = 1
    Sleep($time)
    MouseMove(0,0, 10)
    Send("This will prevent your clients from crashing.. ")
    Sleep($time)
    MouseMove(0,0, 10)
    Send("..")
    Send("+{HOME}{BS}")
    Sleep($time)
    MouseMove(1000,1000, 10)
    WEnd

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

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Please press "F8" to resume!', (@DesktopWidth / 2), 20, "", 1, 2)
    WEnd
    ToolTip("")
    EndFunc

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

    Func Terminate()
    WinClose("Untitled - Notepad", "")
    send("n")
    Exit 0
    EndFunc

    [/autoit]


    Also, ich will ein ähnliches Programm "schreiben", welches in einem bestimmten Zeitenraum, auf eine bestimmte Position klickt, dann einen Buchstaben drückt, wartet, auf einen anderen Punkt klickt, dann den gleichen Buchstaben wieder drückt.
    Also, erstmal soll gefragt werden, was für eine Zeitspanne immer da ist.
    Dann, soll am besten gefragt werden, wieviele Mausklicks(ich meine nicht auf einmal, sondern wieviele unterschiedliche Mauspositionen es gibt) gemacht werden sollen.
    Dann wollte ich eig. die zB. 3 Mauspositionen benennen, da hatte ich aber eig. keine Idee wie man es einfach machen soll. Nur wie man es umständlich macht, indem man mit dem "AutoIT Window Info" die Position raussucht und diese eingibt.
    Ich hab natürlich schon rum"probiert", bin aber natürlich elendich gescheitert. Wäre nett wenn ihr mir helfen könntet. =]
    Das ist, was ich versucht hatte, aber nicht klappte =/

    Spoiler anzeigen
    [autoit]

    MsgBox(64, "ActiveIdler", "Press Ok to continue! Press F8 to Pause and ESC to Exit!")

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

    $timeInput = InputBox("Timer Settings", "How many second delay?", "20")
    $time = $timeInput*1000
    $mouseInput= InputBox("Client 1", "Wo ist der erste Mausklick?")
    $mouse = $mouseInput
    $mouse2Input = InputBox("Client 2", "Wo ist der zweite Mausklick?")
    $mouse2 = $mouse2Input
    $mouse3Input = InputBox("Client 3", "Wo ist der dritte Mausklick?")
    $mouse3 = $mouse3Input
    $lol = 1

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

    Global $Paused
    HotKeySet("{F8}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")

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

    While $lol = 1
    Sleep($time)
    MouseClick("left", $mouse1)
    Sleep(20)
    Send("u")
    Sleep($time)
    MouseClick("left", $mouse2)
    Sleep(20)
    Send("u")
    Sleep($time)
    MouseClick("left", $mouse3)
    Sleep(20)
    Send("u")

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

    WEnd

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

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Please press "F8" to resume!', (@DesktopWidth / 2), 20, "", 1, 2)
    WEnd
    ToolTip("")
    EndFunc

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

    Func Terminate()
    Exit 0
    EndFunc

    [/autoit]


    Naja, nicht wundern, hab noch nicht alles 100% verstanden + durchgelesen/gelernt ;)

    MFG Niemand

  • Befehl MouseClick:

    [autoit]

    MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

    [/autoit]

    d.h. du musst ja auch die y achse angeben wo er draufclicken soll.

  • Zählt die Variable hier nur für x, aber nicht für y, oder wie meinst du das, weil ich hatte immer probiert:" X, Y" einzugeben, aber da kam dann ein Fehler. =/

  • Welches Fehler? Ich mach mal ein Beispiel:

    [autoit]

    MouseClick("left", 123, 321, 1, 0)

    [/autoit]


    Erklärung:
    "left" = Die Taste mit der geklickt werden soll. In diesem Fall mit der Linken, da 'left' auf deutsch 'links' heißt.
    123 = Die X Koordinate des Mausklicks. In dem Beispiel 123.
    321 = Die Y Koordinate des Mausklicks. In dem Beispiel 321.
    1 = Die Anzahl der Mausklicks. Hier soll nur einmal geklickt werden, also 1.
    0 = Die geschwindigkeit der Maus (Wie schnell sich die Maus zum 'Klickpunkt' bewegt). 0 bedeutet 'zum Punkt springen', 1 bedeutet sehr schnell, 2 bedeutet etwas langsamer usw.

    Alles klar? :)

    Edit: Hab dein Script mal ein wenig verändert so dass es gehn sollte:

    Spoiler anzeigen
    [autoit]


    MsgBox(64, "ActiveIdler", "Press Ok to continue! Press F8 to Pause and ESC to Exit!")

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

    $timeInput = InputBox("Timer Settings", "How many second delay?", "20")
    $time = $timeInput*1000
    $mouse1x= InputBox("Client 1", "Wo ist der erste Mausklick (X Koordinate)?")
    $mouse1y= InputBox("Client 1", "Wo ist der erste Mausklick (Y Koordinate)?")
    $mouse2x = InputBox("Client 2", "Wo ist der zweite Mausklick (X Koordinate)?")
    $mouse2y = InputBox("Client 2", "Wo ist der zweite Mausklick (Y Koordinate)?")
    $mouse3x = InputBox("Client 3", "Wo ist der dritte Mausklick (X Koordinate)?")
    $mouse3y = InputBox("Client 3", "Wo ist der dritte Mausklick (Y Koordinate)?")
    $lol = 1

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

    Global $Paused
    HotKeySet("{F8}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")

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

    While $lol = 1
    Sleep($time)
    MouseClick("left", $mouse1x, $mouse1y)
    Sleep(20)
    Send("u")
    Sleep($time)
    MouseClick("left", $mouse2x, $mouse2y)
    Sleep(20)
    Send("u")
    Sleep($time)
    MouseClick("left", $mouse3x, $mouse3y)
    Sleep(20)
    Send("u")

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

    WEnd

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

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Please press "F8" to resume!', (@DesktopWidth / 2), 20, "", 1, 2)
    WEnd
    ToolTip("")
    EndFunc

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

    Func Terminate()
    Exit
    EndFunc

    [/autoit]


    Falls es noch Fehler gibt, sag bescheid ;=)

    Einmal editiert, zuletzt von Carsten8 (18. März 2008 um 09:53)

  • Hab gesehen, dass in Deinem (zweiten) Skript in der While-Schleife (Zeile 19) die Variable $mouse1 im MouseClick benutzt wird,
    weiter oben aber nur $mouse definiert wurde...