_IsPressed abfangen und nicht abfragen

  • Hi,
    wieso passt du die _Ispressed()-Funktion nicht entsprechend an?

  • abfangen und nicht abfragen

    Das doch bitte mal besser erklären oder verstehe ich es nicht, weil ich anders denke (herkunftsbezogen) als Ihr?
    Ich fange ab, ob die Maustaste gedrückt wird, das mache ich Dank _Ispressed(). Aber ich kann doch auch sagen,
    das ich anfrage, ob die Maustaste gedrückt wird. Wenn, dann führe ich etwas in beiden Fällen durch.

    Ich verstehe das eigentliche Problem nicht. SORRY !!!

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Abfangen:
    Ich würde sagen "abfangen" wird am besten durch einen "Hook" bzw. "DLL-Injektion" beschrieben.
    Sprich, bevor der Mausklick die GUI erreicht wird dieser in sein Script "umgeleitet"(von dem Script abgefangen).
    Somit könnte man also z.B. den Mausklick blockieren also nicht zur GUI durchlassen oder man könnte eine eigene Mausklick Aktion schreiben. Also das ein Mausklick nicht nur klickt sondern z.B. bei einem Linksklick einen Rechtsklick ausführt oder ein Programm startet.

    Abfragen:
    Man greift nicht aktiv in den Mausklick ein sondern man beobachtet ihn nur. Es ist also nur möglich Informationen zu bekommen aber kein zu verändern.

    *Anstatt einem Mausklick könnte es praktisch jedes beliebige Ereigniss sein.

    ~IRC: irc.afterworkchat.de #autoit

  • Ich denke eher:
    Abfragen: wird die Maustaste gerade gedrückt wenn der Code fragt. (also aktiv schauen ob was passiert)
    Abfangen: wurde die Maustaste gedrückt (also benachrichtigt werden wenn was passiert)

    Falls du, dass meinst, dann kannst du das mit Hooks lösen (wie Bugfix schon geschrieben hat)
    _WinAPI_SetWindowsHookEx() hat da auch ein Beispiel dafür, wenn du Fragen dazu hast kannst du die einfach stellen.
    Wenn es dir aber nur darum geht herauszufinden ob die Maustaste auf deiner GUI gedrückt wurde, dann kannst du einfach mit GUIRegisterMsg() die WM_LBUTTONDOWN/-UP Messages "hooken".
    _SetWindowsHookEx() hingegen hookt die Nachrichten des ganzen Systems.


    Zu "DLL-Injektion": Die wär da unpassend und mit AutoIt allein unmöglich. Zudem kannst du dann die Mausnachrichten des Systems nur dann abfragen, wenn du einen Hook installierst und das kann man auch ohne Injektion.

    2 Mal editiert, zuletzt von CentuCore (5. Juli 2015 um 15:10)