2016-08-04 22 views
1

Ich habe gerade herausgefunden, dass AutoIt eine Alternative zur Automatisierung von Mausklicks ist.So verwenden Sie AutoIt, um auf eine Schaltfläche zu klicken, die vom Finder-Tool nicht erkannt wird

Ich möchte ein Skript erstellen, das auf die Schaltfläche "Ja, beenden und beenden" einer Anwendung klickt. Die Anwendung ist ein Bildschirmschreiber namens Screencast-O-Matic (Version 2.2.1).

Hier ist ein Screenshot der Anwendung:

Application Screenshot

Hier ist das Skript schrieb ich:

Local $hWnd = WinWait("[CLASS:SunAwtFrame]", "", 0) 
ControlClick($hWnd, "Yes, stop and exit", "") 

Ich weiß nicht, die Steuer-ID. Ich habe das Finder-Tool verwendet, um es zu finden, aber das Finder-Tool hat nur die Klasse und nicht die Kontroll-ID identifiziert.

Hier ist ein Screenshot von AutoIt. Es zeigt alles leer an.

AutoIt when I hover over button

Wie kann ich auf noch auf die Schaltfläche? Lösungen, die etwas anderes als AutoIt beinhalten, würden ebenfalls helfen.

Vielen Dank im Voraus!

+0

Kannst du es nicht mit der [AutoIt Window Info] (https://www.autoitscript.com/autoit3/docs/intro/au3spy.htm) finden? Wenn nicht, versuche ich manchmal (als letzte Option), das Fenster anhand des darin enthaltenen Textes zu identifizieren und dann [MouseClick()] (https://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm) zu verwenden. mit Bildschirmkoordinaten für das Klicken auf eine Schaltfläche. –

+0

Wenn ich das Finder-Tool verwende, zeigt es mir Fensterinformationen an - Titel, Klasse, Position, Größe usw., aber es zeigt nichts für Kontrollen. Alles ist leer für Kontrollen. Ich werde dafür auch einen Screenshot hinzufügen. – Rookie

Antwort

0

Das Problem hier ist, dass die Steuerelemente keine WinAPI-Steuerelemente sind, sondern selbst erstellte Steuerelemente mit Bildern erstellt. Sie müssen die Mausposition verwenden, um auf diese Schaltfläche zu klicken (MouseClick). Vielleicht haben Sie Glück mit ControlClick("Screen-Cast-O-Matic", "", 0, "left",1, Xpos, Ypos)

Wenn die Position der Schaltfläche ändert, können Sie diese Position mit PixelChecksum herausfinden.