Guten Abend verehrte AutoIt Profis,
ich möchte eine bestimmte Postion auf einer Symbolleiste anklicken. Das Klicken auf das von mir benötigte Ereignis schaffe ich, es scheitert jedoch an der zuverlässigen Feststellung der Koordinaten der Symbolleiste, weil ihre Instanz beim erneuten Öffnen des Programmes wechselt. Ich war schon "stolz", dass ich herausgefunden habe, dass ich mit "ControlGetPos" die Koordinaten der Leiste finden kann, da das jedoch ohne die korrekte Instanz nicht klappt, bin ich mit meinem Anfänger-Latein am Ende und würde mich sehr über eine "laien-verständliche Hilfe" freuen!
Mein Beispiel:
$pos = ControlGetPos("Microsoft PowerPoint","Duden Korrektor","MsoCommandBar2") => damit bekomme ich bei $pos[0] und [1] die korrekten x und y Koordinaten.
lasse ich die Instanz weg: ControlGetPos("Microsoft PowerPoint","Duden Korrektor","") => werden falsche Werte für die Koordinaten geliefert
Das Problem: Die Instanz wechselt beim Öffnen und Schließen von PowerPoint, mal ist es "MsoCommandBar2", manchmal aber auch 3 oder 4.
Meine Frage:
Gibt es eine Möglichkeit, ein Control (dessen Koordinaten) nur über den Text zu finden - in meinem Beispiel: "Duden Korrektor" bzw. mit diesem Text die Instanz herauszufinden?
Hier ein Ausschnit der Window-Info: Die blauen Texte sind immer konstant, die Instanz (in Rot) wechselt leider, deswegen bekomme ich es nicht hin ...
>>>> Window <<<<
Title: Microsoft PowerPoint - [Präsentation1]
Class: PP9FrameClass
Position: -4, -4
Size: 1688, 944
Style: 0x17CF0000
ExStyle: 0x00000100
Handle: 0x000C064E
>>>> Control <<<<
Class: MsoCommandBar
Instance: 2
ClassnameNN: MsoCommandBar2
Name:
Advanced (Class): [CLASS:MsoCommandBar; INSTANCE:2]
ID:
Text: Duden Korrektor
Position: 113, 75
-------------------------------------------------------------------------------------------------------
Besten Dank im Voraus!
Michael