GuiSpy

    • Beta
    • Open Source
      Name:
      GuiSpy

      Beschreibung:
      Mit diesem Programm ist es möglich, einen Einblick in die Oberfläche anderer Programme zu bekommen. Darüberhinaus ist es möglich, Methoden aufzurufen, die einzelne Controls anderer Programme zur Verfügung stellen, und deren Rückgabewerte zu erhalten. Auch Control-Properties können ausgewertet werden. Es wird ein Hierarchie-Baum der zur Verfügung stehenden Controls angezeigt, um eine einfachere Navigation durch die Fremd-App zu bekommen. Sollte die App ein klassisches Menü haben, wird dieses ebenfalls zugänglich gemacht und Menüpunkte können quasi ferngesteuert angeklickt werden.
      Damit ist eine Bedienung und Auswertung anderer Programme möglich, ohne dieses selbst anfassen zu müssen.

      Damit man nicht nur ein Spielzeug zur Manipulation anderer Programme hat, bringt GuiSpy auch einen Aufnahmemodus mit (dazu den roten Kreis oben links anklicken). Damit wird im Hintergrund der Code generiert, der die Bedienung von GuiSpy widerspiegelt. Klickt man sich im Aufnahmemodus also mithilfe von GuiSpy durch eine andere App, wird bei Beenden des Aufnahmemodus der Code in der Zwischenablage gespeichert, der benötigt wird, um die gemachten Aktionen per VB.NET-Code zu simulieren. Dadurch kann man also vereinfacht Code generieren (lassen), um die Automatisierung anderer Apps im eigenen Programm zu ermöglichen bzw. zu vereinfachen. Auch das Starten anderer Apps kann mit aufgezeichnet werden, indem man im Aufnahmemodus auf das Symbol rechts neben dem Aufnahmemodus-umschalten-Knopf klickt und sich dann die gewünschte App raussucht.

      Es gibt erstmal viele Informationen auf dem GUI, die sehr kompakt zusammengestellt sind und damit erstmal ziemlich erschlagend wirken.
      Startet als erstes das Programm, dann tauchen oben rechts in der ComboBox alle laufenden Apps auf. Wählt eine aus. Oder Ihr startet eine neue und klickt links auf den Aktualisieren-Button, um die neu gestartete App in der ComboBox anzeigen zu lassen. Danach klickt Ihr auf den Pfeil links von der ComboBox, um die gewählte App näher zu untersuchen. In der SubBoxes-ComboBox oder dem TreeView könnt Ihr dann ein Control auswählen und dann versuchen, dies mit den Methoden zu manipulieren. Besonders häufig dürfte wohl für Buttons die Methode Invoke (IUIAutomationInvokePattern) sein, welches nach dem Klick auf [Aktion mit Sollwerten ausführen] den gewählten Button anklickt. Auch die SetValue-Methode und die CurrentValue-Property für TextBoxen dürfte man ab und zu mal brauchen.
      Um von einer SubBox/App auf die nächsthöhere Ebene zu gelangen (SubBox -> ParentBox -> App -> Desktop), nutzt man den nach-oben-Button links oben auf dem GUI.

      Dieses Programm nutzt das Nuget-Paket Interop.UIAutomationClient von Roemer.
      Desweiteren meine verbesserte TypedBindingSource und der Projektaufbau ist die PluginForm.
      Es ist eine erweiterte Umsetzung des Threadinhalts aus externe .Net-Programme auslesen und manipulieren, auch wenn streckenweise verbesserte und erweiterte Methoden verwendet werden.

      Screenshot(s):



      Verwendete Programmiersprache(n) und IDE(s):
      Visual Basic .NET / .NET Framework 4.7.2 / Visual Studio 2019 CE

      Systemanforderungen:
      .NET Framework 4.7.2

      Systemveränderungen:
      Der Inhalt der Zwischenablage wird bei bestimmten Programmpunkten überschrieben.

      Download(s):
      kompiliert, 77 KB
      Quellcode, 506 KB (Nuget-Package-bedingt)

      Lizenz/Weitergabe:
      Freeware und OpenSource; eine Quellen- und Autorenangabe ist gewünscht
      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

      Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()