Hallo,
ich versuche mittels AutoITX CATIA (CAD-Software) zu automatisieren. Leider habe ich erhebliche Probleme die Controls in den Toolfenstern anzusprechen
und ich habe keinen Schimmer warum es nicht funktionieren sollte.
Das Problem ist folgendes.
Die Software läuft... ich lasse AutoIT einen Button drücken ....ein Fenster in der Software öffnet sich. Hier sind die Daten des neuen Fensters von AutoIT window Info:
>>>> Window <<<<
Tiitle: Filtern
Class: #32770
Position: 612, 367
Size: 280, 302
Style: 0x94C800C4
ExStyle: 0x00010501
Handle: 0x00000000005D05AC
Das Fenster lässt sich interessanter Weise nur über "[CLASS:#32770]" ansprechen und nicht über "Filtern" (z.B. bei WinGetClassList)
Ich kann keinen einzigen Control im Fenster ansprechen. Beispielhaft nehme ich mal den "Schließen"-Knopf für mein Problem":
>>>> Control <<<<
Class: Button
Instance: 3
ClassnameNN: Button3
Name:
Advanced (Class): [CLASS:Button; INSTANCE:3]
ID:
Text: Schließen
Position: 184, 248
Size: 82, 21
ControlClick Coords: 32, 11
Style: 0x50010000
ExStyle: 0x00000000
Handle: 0x0000000001B90A8A
Quelltext
'Deklariertt das AutoIT Objekt
Dim oAutoITX As Object
Set oAutoITX = CreateObject("AutoItX3.Control")
'Öffnen des besagten Problemfensters (funzt)
oAutoITX.ControlClick "CATIA V5 für Hochschulen", "", "Filtern..."
'Hier will ich sicher gehen, dass das Fenster aktiviert ist
oAutoITX.WinActivate ("[CLASS:#32770]")
'Habe dann verschiedene Varianten durchprobiert:
z.B. oAutoITX.ControlClick "[CLASS:#32770]", "", "[CLASS:Button; INSTANCE:3]" , "left"
z.B. oAutoITX.ControlClick "[CLASS:#32770]", "", "[CLASSNN:Button3]" , "left"
z.B. oAutoITX.ControlClick "[CLASS:#32770]", "", "Schließen" , "left"
nichts zeigt Wirkung. Alle ControlCommands funktionieren nicht (z.B. auch nicht ControlCommand)
. Andere Buttons im Fenster haben auch komische CLASSNN-Bezeichungen z.B.: Afx:0000000000400000:02
Ich habe keine Ahnung warum es nicht funktioniert, wo doch Window Info was ausspuckt.
Die ControlID lässt sich leider nicht nutzen, da diese sich immer ändert.
Wenn jemand einen Hinweis hat, wie ich auf diese Controls zugreifen könnte, wäre ich sehr dankbar..
(Mouse commands sind übrigens keine Option!)
Interessanterweise liefert WinGetTitle einen anderen String als im windowInfo unter Window: Title: ... angezeigt wird. (Sehr seltsam!)
Vielen Dank im Voraus
Dirk