Ausführung eines Mausklicks

  • Halli Hallo.

    Habe bereits einen anderen Thread zu diesem Thema über Google gefunden.
    https://autoit.de/index.php?page=Thread&postID=147897

    Habe allerding dann doch noch Fragen dazu!

    #RequireAdmin funktioniert tatsächlich, aber da erscheint dann jedes mal ein Fenster (bzw. ne MsgBox) in welcher ich zustimmen muss das dies ausgeführt werden soll.

    Meine Frage ist nun zum einen, wie das auch anders geht und vor allem, was ich bei mir verändert habe, dass das überhaupt nötig ist, denn ich habe bereits massig herum gespielt gestern und es lief alles wunderbar. Hab schon etliche Sachen so zum laufen gebracht und war eigentlich recht happy und erstaunt wie kinderleicht ich dann doch schon relative viele Dinge in kürzester Zeit hinbekommen habe.

    Der Punkt ist das bei mir wie gesagt erstmal alles lief!!!

    Hatte zwischendurch allerdings andere Programme installiert...weiss ehrlich gesagt nichtmal mehr was genau das war...hatte nix mit AutoIt zu tun.....allerdings wurden da noch nen paar weitere Programme installiert die ich nicht wollte....war bei der installation unvorsichtig bzw hab einfach zu schnell immer weiter geklickt.
    Nun ist aber alles wieder deinstalliert und am Rechner selbst ist alles ok.

    Verute jedoch das es wohl oder übel mit einem der installierten Programme zusammenhängen muss...also das die mir iwas umgestellt haben automatisch.

    Momentan sieht es halt so aus...
    MouseClick("left", 2240, 260, 1)
    bei dem Befehl wandert er zwar zur gewünschten Position, aber der Klick wird nicht ausgeführt!

    Wäre sehr über Hilfe erfreut, da ich ohne eine Lösung völlig aufgeschmissen bin und nicht weiter basteln kann. ;(
    Dabei hat es gerade angefangen richtig Spass zu machen.

    Einmal editiert, zuletzt von Chulio (29. Dezember 2013 um 03:33)

  • Hallo Chulio.

    Alles gut gemacht. Keine Panik. ;)

    Leg mal einen Link auf die Position 2240, 260 und starte dann das Script.
    Bei mir hat er gleich den Link "Mitglieder" angeklickt und ist dorthin gesprungen.

    Wichtig ist, das wenn es ein ganz kleiner Bereich ist, wo er klicken soll, das Du
    diesen dann auch triffst.

    Und SPASS machen tut AutoIt für mich immer, denn ich lerne immer mehr dazu.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Für

    [autoit]

    MouseClick

    [/autoit]

    benötigt man keine Adminrechte, ein #RequireAdmin am Scriptanfang würde also rein gernichts bewirken, keine Ahnung wie derjenige im anderen Thread auf diese Idee gekommen sein mag.

    Wie dem auch sei.. mouseclick() und send() sind dafür bekannt, dass sie äusserst unzuverlässig arbeiten. Ich würde mir daher an deiner Stelle eher die control Funktionen (z.B. controlclick(), controlsend(), ...) genauer ansehen oder sofern möglich direktere Automatisierung verwenden.

    Was soll denn mit dem Mausklick automatisiert werden? Soll ein Programm oder eine Datei im Standardprogramm geöffnet werden? Wenn ja verwende stattdessen run() oder shellexecute(). Soll eine Webseite automatisiert werden? Wenn ja verwende die Funktionen der IE.au3 für den Internetexplorer, schau dir die FF.au3 für Firefox an oder beschäftige dich näher mit winhttp. Soll ein Programm oder Setup automatisiert werden? Wenn ja schau dir wie oben erwähnt die control Funktionen und das Tool au3info im Scite Editor an.

  • Auch wenn ihr vermutlich weit mehr Ahnung von AutoIt habt als ich, muss ich euch da dann doch korrigieren bzw. etwas festhalten!

    Derjenige in dem anderen Thread, der meinte man kann das ganze mit #RequireAdmin gerade biegen hatte vollkommen Recht!
    Ich glaube ihr habt mein Problem nicht verstanden.
    Es war so das bei mir alles lief, was bedeutet meine Scripts an sich haben ja alle funktioniert und da ich an den selben auch rein garnichts verändert hatte kann es ja eig nicht sein das die dann einen Tag später nicht mehr laufen (alles hat weiterhin funktioniert nur halt die Mausklicks wurden nicht mehr augeführt!!). Sofern ich dann aber #RequireAdmin mit ins Spiel gebracht habe, hat er die Klicks wieder ausgeführt. Der einzige Unterschied war dann nur, das man in diesem Fall jedes mal am Anfangüber ne Msgbox bestätigen musste, das man den Zugriff zulassen möchte.

    Um ehrlich zu sein würde ich euch nun auch liebend gerne die Lösung verraten, damit zukünftig Leute die das selbe Problem haben dann auch die Lösung hier vorfinden können. Problem ist ich weiss es selber nicht 100%. Was ich sagen kann....Schaut bei euch in der Systemsteuerug unter "Programme deinstallieren" und werft alles von eurem Rechner runter was ihr an dem besagten Tag wo sich das geändert hatte mit dem Klick installiert habt. Ich habe zumindest nichts anderes getan...achja und Neu starten. Einige Dinge liessen sich bei mir nicht direkt in folge deinstallieren...somit war ich gezwungen erst Programm A zu deinstallieren..dann nen Neustart...dann Programm B deinstallieren etc.

    am ende lief wieder alles auch ohne dieses dämliche #RequireAdmin! :D

    Wenn hier jemand ist der versteht warum genau das mit #RequireAdmin funktioniert hat und ohne halt nicht. Ich wäre serh froh den eigentlichen Grund zu wissen, da es mir eigentlich nicht ganz reicht das es nun einfach wieder funktioniert.

    Was ich bisher zu diesem Thema sonst noch gefunden hatte über Google ist folgendes....iwer hatte sich nen BOT für irgend nn Spiel geschrieben...ka mehr was genau das war...ist auch nebensächlich, jedenfalls hatte er die Theorie aufgestellt das bei ihm etwas, was auch angeblich längere Zeit funktioniert hatte und dann nicht mehr funktionierte daran lag, das in dem Spiel der Mauszeiger ja ersetzt wurde durch den Mauszeiger des Spiels...und da Spiele updates unterliegen kann es ja sein das die da irgendetwas verändert haben.

    Warum mich persönlich das nun interessiert hat? Ganz einfach...ich habe absolut keine Ahnung ob die Programme die ich installiert hatte vllt auch was an meinen Windowseinstellungen diesbezüglich verändert haben könnten.....bei mir gehts allerdings nicht um WoW oder was der da für nen Spiel hatte, :D sondern lediglich um ein Simples Button auf einer Internetseite. Was noch anzumerken sei..als bei mir die Klicks nicht funktioniert haben muss ich noch erwähnen das nur die Klicks nicht funktioniert haben die "Sinn gemacht hätten" sprich klicks auf Buttons oder Links etc.......Klicks die allerdings ins Nirvana gegangen wären Sprich auf Stellen am Monitor die keine Auswirkung gehabt hätten weiter wurden auch ohne #RequireAdmin ausgeführt!

    Ich bin da mit meinem kleinen 1*1 bei weitem am Ende!!!!! Denke das wird mir höchstens irgend nen Guru erklären können, wie das genau zu stande kommen konnte. :pinch:

    p.s. achja und Alina...macht mir ja auch spass, aber stell dir vor alles lief bei dir und dann passiert dir sowas das ein script was eig fehlerfrei ist nicht mehr funktioniert. damit war meine bastelstunde dann zu ende und nein sowas macht dann eher wenigerviel spass. ;)

    4 Mal editiert, zuletzt von Chulio (25. Dezember 2013 um 18:26)

  • Das Thema hier ist noch immer "offen", da hier bisher noch keine wirkliche Lösung steht.

    Hat keiner ne Ahnung, was genau die Ursache dafür sein kann, das die AutoIt-Anwendungen alles ausführen, jedoch sofern dieser Fehler auftritt explizit die Mausklicks auf diverse Buttons etc. nicht ausgeführt werden (klicks wie oben bereits erwähnt an belibigen anderen Stellen des Monitors, welche nicht auf Buttons oder änliches gehen werden auch sofern der Fehler auftritt ausgeführt!)?

    Vor allem was genau bewirkt das #RequireAdmin? Denn im Falle, das der Fehler auftritt und man #RequireAdmin einbindet läuft wieder alles (mann muss jedoch immer bestätigen das man den Zugriff zulassen möchte!)! Sprich derjenige der weiss, was genau dieses #RequireAdmin bewirkt, kann vermutlich auch erahnen, was verändert wurde das es zu diesem Problem kommen kann. Oder hat auf jeden Fall bessere Denkansätze als ich, denn ich tappe da noch etwas im Nirvana!

  • bei mir gehts allerdings nicht um WoW oder was der da für nen Spiel hatte, :D sondern lediglich um ein Simples Button auf einer Internetseite.

    Wie oben schon von mir erwähnt eignen sich spezialisierte Funktionen zur Browserautomatisierung um Welten besser für das was zu tun willst. Schau dir bitte in der Hilfe die Funktionen der IE.au3 und die entsprechenden Beispiele an, z.b.

    [autoit]


    _IECreate
    _IEFormSubmit
    _IEAction
    _IEImgClick
    _IEFormImageClick
    _IELinkClickByIndex
    _IELinkClickByText

    [/autoit]
    Zitat von Chulio


    Vor allem was genau bewirkt das #RequireAdmin? Denn im Falle, das der Fehler auftritt und man #RequireAdmin einbindet läuft wieder alles (mann muss jedoch immer bestätigen das man den Zugriff zulassen möchte!)! Sprich derjenige der weiss, was genau dieses #RequireAdmin bewirkt, kann vermutlich auch erahnen, was verändert wurde das es zu diesem Problem kommen kann.

    #RequireAdmin ist eine Präprozessor Anweisung. Sie wird also noch bevor das restliche Script interpretiert wird ausgeführt. Konkret sorgt #RequireAdmin dafür, dass die UAC Abfrage von Windows Vista / 7 / 8 gestartet wird und der Prozess anschließend im Kontext eines Administrators ausgeführt wird, sofern entsprechende Berechtigungen vom Anwender erteilt werden. Wie bereits erwähnt benötigt man für mouseClick() aber keinerlei Administrator Privilegien. Was bewrikt die UAC Abfrage sonst noch? Da der Dialog recht aufdringlich in den Vordergrund gedrängt wird dürfte vermutlich der Focus eines zuvor aktiven Fensters verloren gehen, bzw. die OnTop Attribute der vorhandenen Fenster neugeordnet werden. Möglich, dass dadurch auch das Verhalten der mouseclick Funktion in deinem Fall positiv beeinflusst wird, auch wenn ich nachwievor meine Zweifel daran habe.

    Wie dem auch sei, dein Problem lässt sich sehr einfach durch die Nutzung von geeigneteren Funktionen beheben (siehe oben).

    EDIT:

    Sehe gerade, dass du dich bereits mit der FF.au3 beschäftigt hast, somit dürfte das "Problem" ja bereits gelöst sein. ;)

    2 Mal editiert, zuletzt von misterspeed (27. Dezember 2013 um 23:25)

  • Das mit FF.au3 benutze ich schon die ganze Zeit und das Problem war auch damit vorhanden.

    Insofern sei nicht ungläubig Thomas! :P Das was ich sage stimmt tatsächlich! Auch in dem anderen Thread hatte ja jemand anders der das selbe Problem hatte zugestimmt. Also warum sollten wir quatsch erzählen?

    Vielen Dank für die Erklärung bzg. #RequireAdmin und werde das Thema dann heute abend iwann auf gelöst stellen, da ich nicht davon ausgehe das hier noch wer mit einer exakten Erklärung um die Ecke kommt.

    Sollte doch noch wer nen Ansatz oder eine Vermutung haben könnt ihr euch gerne melden.