Maus script gesucht!

  • Hallo liebe Community!

    ich suche jemanden, der mir ein kleines Mausscript schreiben könnte. Das Script muss Folgendes bewirken: beim Drücken der linken Maustaste soll der erste Mausklick, beim Loslassen der zweite Mausklick erfolgen. Quasi ein Doppelklick beim einmaligen Drücken der Maustaste. Ich hoffe, ich habe mich verständlich ausgedrückt :rolleyes: .

    Ich habe jetzt Folgendes ausprobiert:

    Code
    MouseClick("left")
    Sleep(2)
    MouseClick("left")

    Wenn ich im Kontextmenü das Script laufen lasse, dann wird es - kein Wunder, sofort ausgeführt. Es müsste aber per Hotkey aktiviert und deaktiviert und auf den ersten Mausklick gewartet werden. Ich hoffe diese Aufgabe ist im Rahmen des Möglichen.

    Viele Dank!

  • Nochmal Willkommen

    1. Das ist eigentlich das falsche Unterforum
    2. Sind wir keine Könntet-Ihr-Mal-Machen-Community(Deins war so dazwischen,finde ich.Wenns nicht so gemeint war Entschuldigung)

    Aber da du ja neu bist will ich dir mal hier helfen.
    Du musst nur deinen Script in eine Funktion packen und diesen mit HotKeySet verbinden ;) , also so:

    [autoit]


    HotKeySet("{Home}",1);Die Taste die du benutzen willst kommt in das erste Parameter in dem Fall die Home-Taste
    Func 1()
    MouseClick("left")
    Sleep(2)
    MouseClick("left")
    EndFunc

    [/autoit]

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Danke für deine schnelle Antwort.
    Ich dachte das wäre das Forum, wo sich die Profis austauschen können und ab und zu den noobs helfen (so wie ich z.B.). sry, dass ich im falschen Unterforum gepostet habe ;( @ Mods: bitte verschieben wenn es geht.

    Wenn ich dein script ausführe, kommts es zu einer Fehlermeldung:

    Code
    Line 2 ....
    Func 1()
    Error: Badly formatted "Func" statement

    Wo könnte der Hund begraben sein?

  • Hallo,
    Wow ich wusste garnicht das man einzelne Ziffern als Funktionsnamen benutzen kann?
    Das wäre mir also ehrlich gesagt neu ^^

  • So gehts komplett. Ich vergesse nämlich immer die Anführungszeichen bei Hotkeyset :whistling: . Hab auch noch ein While eingebaut damit es sich nicht sofort beendet.

    [autoit]


    HotKeySet("{Tab}","_1")

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _1()
    MouseClick("left")
    Sleep(2000)
    MouseClick("left")

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

    EndFunc

    [/autoit]

    P.S.: du hattest Sleep auf 2ms gesetzt ich glaube das ist ein bisschen niedrig oder? Ich weiß ja nicht wofür du das brauchst aber ich habe ms noch nie benötigt ^^

    Edit: Ohh, noch was in der Eile vergessen

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Danke dir conan für dein Bemühen, aber das Script funktioniert nicht so wie ich das möchte. In deiner Lösung wird der Tab Taste die Funktion der linken Maustaste zugewiesen und danach erfolgt ein Doppelklick.

    Ich möchte aber, dass beim Dücken der esrte und beim Loslassen der zweite Klick ausgelöst wird. Habe an sowas gedacht (bitte nicht schlagen):

    [autoit]


    MouseDown("MouseClick("left")")
    Sleep(2)
    MouseUp("MouseClick("left")")

    [/autoit]

    so bekomme ich aber wieder eine Fehlermeldung ;(

    PS: wofür stehen bei dir die Zeilen 3 bis 5?

  • 3-5 ist ne Endlosschleife.
    Mein Versuch, allerdings wird der Doppelklick nach dem Loslassen ausgelöst:

    [autoit]


    HotKeySet("{ESC}","_ende")
    While True
    Do
    Sleep(10)
    Until _ispressed("01")
    Do
    Sleep(10)
    Until not _ispressed("01")
    Mouseclick("left")
    Sleep(50)
    Mouseclick("left")
    Wend
    Func _ende()
    Exit
    EndFunc

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • @ L3viathan
    bei mir läuft das nicht ?( Das Script wird immer umfangreicher wie ich sehe :))
    Vielleicht habe ich mich falsch ausgedrückt, das soll kein richtiger Doppelklich in dem Sinne werden, sondern den zwei Ereignissen (Drücken/Loslassen) einfach die gleiche Funktion zuweisen. Wie ich in meinem Post oben geschrieben habe, kann man sowas realisieren?

    Danke allen, ich werde im richtigen Unterforum mein Anliegen schildern.

  • [autoit]


    #include <Misc.au3>
    HotKeySet("^t", "aufpassen")
    HotKeySet("^e", "ende")
    Func aufpassen()
    HotKeySet("^t", "pause")
    While 1
    If _IsPressed(01) Then
    MouseClick("left")
    While _IsPressed(01)
    WEnd
    MouseClick("left")
    EndIf
    Sleep(10)
    WEnd
    EndFunc ;==>aufpassen
    Func pause()
    HotKeySet("^t", "aufpassen")
    Do
    Sleep(10)
    Until ""
    EndFunc ;==>pause
    Func ende()
    Exit
    EndFunc ;==>ende
    While 1
    Sleep(10)
    WEnd

    [/autoit]


    Padmak

  • Das kann so nicht gehen.
    Vom Grundgedanke stimmts, aber es funktioniert nicht mit der linken Maustaste, weil jeder Mausklick das gleiche Event wieder auslöst.

    Das was man bräuchte ist ein Mouseclick, dass nicht als Mouseclick erkannt wird, ich habe da an ControlClick gedacht, aber das funktioniert leider auch nicht, weil ControlClick immer nur ans aktive Fenster sendet...