ControlClick

  • Hallöchen...
    Ich bin son kompletter Neuling... (Der aber sehr schnell lernt.
    Ich hab mich jetzt die letzten 4 Tage mit AutoIT beschäftigt...

    Nun hat sich sone Frage ergeben, die ich mittel Google und Co nich lösen konnte...

    Ich will ein Tool schreiben, was mit der Linken Maustaste klickt, wenn sie Beispielsweise die Farbe des Cursors ändert. // Son IT Projekt für eine Schulpräsentation...
    Mal angenommen, der Mauszeiger ist generell weiss, (*png also transparent..)
    Und wenn der Mauszeiger dann über ein Button o.ä fährt, und "grün" wird,
    soll mein kleines Tool/Skrypt mit der Linken Maustaste klicken...

    so sieht es bisher bei mir aus :

    Nur er klickt dann nicht :/

    Ums mal ein wenig zu erklären, vllt hab ich ja vorher schon ein Fehler gemacht...

    Zeile 4 in Klammern, habe ich erst den Farbwert des normalen Zeigers, und nach dem Komma den veränderten (grün)

    //Ist das so richtig?


    Zeile 7 und 8 Das gleiche.

    7 Den Standartfarbwert

    8 den veränderten...

    // auch richtig?

    vielen lieben dank im Vorraus

  • Skrypt

    :rofl:

    Aber jetzt ernsthaft: Ist das richtig? NEIN!
    Ich empfehle dir dringenst(!) die Hilfe anzuschauen. Dort steht nähmlich das Folgende:

    [autoit]

    PixelGetColor ( x , y [, hwnd] )

    [/autoit]

    Also nichts von wegen Farbe bei den Parametern. Ich weiss zwar nicht ganz wie das jetzt mit dem ändern der Farbe funktioniert, aber der Cursor an sich ändert sich doch oder? Dann müsste sich eigentlich der Cursor ändern und das könntest du mit MouseGetCursor() herausfinden und schauen ob sich da was ändert. Und dann einfach ein MouseClick("left") und schon klickt er.

    Gruss Shadowigor

  • Was willst du uns hier weismachen?
    Beschreib mal genau was du erreichen willst, welches Programm du eventuell ansteuerst, und hänge auch Screenshots an.
    Außerdem schlage ich vor du liest dir mal die Hilfe zu den Befehlen durch, die du verwendest. Einfach F1 drücken wenn du den Befehl in SciTE angeklickt hast. Und probiere auch die Hilfe-Beispiele aus, dann wird dir normalerweise alles klar wie es funktioniert.

  • Son IT Projekt für eine Schulpräsentation...


    Dann frägst du am besten den Projekt betreuenden Lehrer, ich gehe davon aus dass er versteht was Sache ist und kann dir speziellen Lese-/Lernstoff empfehlen. Ich jedenfalls weiss nach den paar Infos noch nicht was du wirklich willst. Bis dahin rate ich dir die Hilfe durch zu arbeiten, damit du wenigstens ein Verständnis für die Grundlagen bekommst. Wundert mich eh, dass ihr vor Projektbeginn nicht in die Grundlagen eingewiesen wurdest.

    Ich hab mich jetzt die letzten 4 Tage mit AutoIT beschäftigt...

    Hättest du an jedem dieser 4 Tage 1 Stunde intensiv die Hilfe durchgearbeitet wärst du warscheins mit deinem KlckBOT schon fertig, soviel zu:

    Der aber sehr schnell lernt

    mfg autoBert

    2 Mal editiert, zuletzt von autoBert (16. Oktober 2012 um 02:22)

  • Okey, ich erkläre dir jetzt ersteinmal, was du da in deinem Script überhaupt geschrieben hast:

    Zeile 4 -> $Variable = PixelGetColor ( 0xC8C5C2,0x05C204 )
    Das Schlüsselwort "PixelGetColor" gibt (wie der Name schon sagt) die Farbe der angegeben Position zurück. Du hast folgende Parameter angegeben:
    Für die x-Position -> 13157826 (in Hex: 0xC8C5C2)
    Für die y-Position -> 377348 (in Hex: 0x05C204)
    Klartext: Du fragst die Farbe auf deinem Bildschirm ab. Und zwar die Farbe, die sich auf der Position x = 13157826 ; y = 377348 befindet.
    Sehr schön :/

    Zeile 5 -> If IsArray($Variable) = True Then
    1. Gibt das Schlüsselwort PixelGetColor kein Array zurück. Daher ist diese Abfrage mehr als unlogisch.
    2. Es kann nicht geklickt werden, weil dein Befehl dazu in dieser If-Abfrage befindet.

    Das bedeutet, alles was sich in dieser If-Abfrage befindet, wird niemals mit deinen Code ausgeführt.


    Das Script was du da hast, ist von vorne bis hinten unlogisch. Ich empfehle dir, ersteinmal die Grundlagen zu lernen:
    AutoIt-Buch