C# alle anklickbaren GUI-Elemente aus einem fremden Programm auslesen und anklicken?
Hi Leute,
Ich suche nach einer Möglichkeit mit C# alle anklickbaren GUI-Elemente(wie z.B. Buttons oa. Textfelder) in eine Liste aus zu lesen und anschließend einen davon (nach Namen/ID) von dem Programm anklicken zu lassen.
Ist das irgendwie möglich oder gibt es vielleicht sogar eine bessere Lösung?
PS: Ich möchte das andere Programm via. Konsole "Fernsteuern"....
1 Antwort
Wenn das andere Programm nicht als C#-Quellcode (oder wenigstens als Quellcode einer DotNet-Sprache) vorliegt, geht das nur über das WIndows-API. Und das ist ziemlich aufwendig, besonders, wenn man sich nicht gut damit auskennt. Und auch gefährlich, wenn man sich nicht sehr gut damit auskennt - man kann damit leicht das eigene Programm, das ferngesteuerte Programm oder das komplette Betriebssystem abschießen.
Glücklicherweise gibt es Tools, die für genau solche Zwecke gebaut worden sind. Das einzige, das ich einigermaßen kenne, nennt sich AutoHotkey. (Open Source, kostenlos downloadbar bei www.autohotkey.com ) Auf der Website von denen gibt es auch fertige Skripts für ähnliche Anwendungsfälle wie deinen, musst mal danach suchen.