none
Windows Powershell Skript – Ausführen einer Funktion im aktiven Fenster RRS feed

  • Frage

  • Mit:

    PS> get-process | where {$_.mainWindowTitle -Match "Meine Anwendung"}

    erkenne ich, dass das Fenster aktiv ist.

    In dem Fenster werden verschiedene Funktionen (Button) angeboten.

    Nach dem Betätigen der Button erscheinen nach teilweise erheblicher Wartezeit weitere Auswahlmöglichkeiten.

    Habe ich mit einem Powershell Skript die Möglichkeit diese Button zu finden und zu betätigen, bzw. die damit verbundenen Funktionen auszuführen? Ich finde keinen Ansatz!

    Sonntag, 17. November 2019 16:36

Alle Antworten

  • Moin,

    nimm lieber AutoIt oder Ähnliches. Diese Produkte sind extra dafür enwtickelt, Click Automation zu betreiben, PowerShell nicht.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Sonntag, 17. November 2019 18:12
  • Die meisten Porgramme dieser Art haben mit z.B. WPF o.ä. basierten Anwendungen Schwierigkeiten, da keine Windows-API mehr verwendet wird.
    Montag, 18. November 2019 08:14
  • Danke für die Antworten! Schade eigentlich, ich bin davon ausgegangen, dass man die "Links" dieser Buttons lesen und dann anwenden kann. WindowsPowershell wird ja so beschrieben, dass man damit auf grafische Oberflächen verzichten könne!
    Montag, 18. November 2019 13:23
  • WindowsPowershell wird ja so beschrieben, dass man damit auf grafische Oberflächen verzichten könne!
    ...für Systeme, die irgendeine Art Automatisierungsschnittstelle besitzen -DCOM, REST-API, was auch immer. PowerShell wurde noch nie im Ernst von jemandem als Vehikel beschrieben, für jedes GUI-Programm die Click Automation zu übernehmen.

    Evgenij Smirnov

    http://evgenij.smirnov.de

    Montag, 18. November 2019 14:39
  • Wenn man damit aber grafische Oberflächen steuern will, die selber keine Automatisierung unterstützt scheitert man sehr häufig. Immer mehr Dialoganwendungen verwenden nicht mehr die klassischen Windows-API sondern da wird sehr viel rumgemalt um alles noch schöner aussehen zu lassen.
    Die Ereignissteuerung, von Windows-API's sehr gut gemanaged wird dann über Mauszeigermappings errechnet.

    Man erinnere sich nur an die alte Mausoption "Zeiger auf OK-Butten setzen".
    Dies funktioniert halt nicht mehr (wie bei Office 2016ff), wenn die Anwendung grundsätzlich nur noch eine einzelne Bitmap rendert. Und man wundert sich über die schlechte TS-Performance.
    Da hilft u.U. auch kein "Sendkeys" mehr, da kein "Fenster" mehr vorhanden ist, an das man eine Nachricht senden kann.

    Montag, 18. November 2019 14:57