Automationselement (vs2008 .net2)

07/10/2008 - 16:17 von Martin Frank | Report spam
Hallo zusammen,
ich will (muss) unbedingt eine Software Fernsteuern. Dieses versuche ich mit
den AutomationElementen aus dem .net 3.0.
Was ich bisher (Codegesteuert) habe:
Ich öffne das Programm.
Nachdem der Anmeldebildschirm erscheint, schreibe ich den Usernamen und das
Passwort in die entsprechenden Feldern.
Ich wàhle einen Eintrag aus einer Combobox und klicke dann auf einen Button
('OK').
Nun hangel ich mich durchs Menü bis ich an dem Richtigen Item bin.
Durch ein 'Invoke' auf dieses Item öffnet sich dann auch das neue Fenster
mit dem entsprechenden Programmteil.
Das neue Fenster beinhaltet ein TabControll mit zwei TabItems.

In den jeweiligen TabItems sind natürlich wieder jede Menge Steuerelemente,
nur diese erreich ich nun nicht mehr.

Über das AutomationsElement des TabControls (schön mit Handel, AutomationsID
usw) erreiche ich die TabItems(Children). Leider kann bekomm ich einfach hier
keine AutomationsID, Handel usw, nur den Namen; bedeutet aber auch, dass ich
keine Children der TabItems auslesen kann.

Schau ich mir das ganze mit Spy++ an, so sind dort alle Infos gegeben.

Hat jemand eine Idee, wie man so ein TabControl, bzw dessen Items vernünftig
zu gesicht bekommt, so wie im Spy++?


Besten Dank schon mal
Martin
 

Lesen sie die antworten

#1 Martin Frank
08/10/2008 - 16:59 | Warnen spam
Nochmal Hallo,
scheint ja nicht viele zu geben, die Aufgaben in fremder Software
automatisieren.

Also mit .net-Mitteln hab ichs nicht geschaft, TabItems auszulesen. Bei
allen anderen Fenstern und Steuerelementen war das kein Problem (wie oben
schon beschrieben).
Als Lösung hab ich nun die gute alte API Programmierung genommen. Hab mir
darüber die Handels die TabItems geholt und schon kam ich auch wieder via
UIAutomation an die darunterliegenden Elemente.

Gruss
Martin

Ähnliche fragen