Seite 1 von 1

Zugriff auf externe Programme in Python

Verfasst: Mittwoch 23. Oktober 2019, 11:52
von l3_12
Hallo,

ich würde gerne in Python folgendes Umsetzen, bin mir aber nicht sicher, ob dies überhaupt möglich ist :?

1.) Externes Programm in Python öffnen

Code: Alles auswählen

import subprocess

subprocess.call(['C:\Program Files\MATLAB\R2019a\\bin\\matlab']) # nur als Beispiel, später wird das ein anderes Programm sein
2.) Auf dieses Programm zugreifen und einen Parameter in den Einstellungen ändern # Funktioniert dies überhaupt?

3.) Restliches Python Programm laufen lassen. # Script ist geschrieben und funktioniert auch wie ich es möchte

Konkret geht es darum, dass ich gerne über ein TTP Client Befehle an ein Laufband senden möchte. Dazu muss ich allerdings in den Einstellungen des Control Panels dies zunächst erlauben (also ein Häkchen bei Enable Remote Control setzen). Im Moment muss ich dies immer manuell machen, um mein Python Script danach ausführen zu können. Schöner wäre es allerdings, wenn alles in einem Schritt funktionieren würde.

Hat also jemand einen Tipp für mich, wie man das evtl. umsetzen könnte?

Re: Zugriff auf externe Programme in Python

Verfasst: Mittwoch 23. Oktober 2019, 11:55
von __deets__
Sowas kann man ggf. mit autogui machen.

Re: Zugriff auf externe Programme in Python

Verfasst: Mittwoch 23. Oktober 2019, 13:34
von sparrow
Früher habe ich pywinauto dafür genommen um fremde Guis zu bedienen.

Re: Zugriff auf externe Programme in Python

Verfasst: Mittwoch 23. Oktober 2019, 16:50
von l3_12
Super, genau sowas hab ich gesucht!

Was mir jetzt noch Probleme bereitet, ist der Name des Windows. Der lautet Treadmill Control Panel 1.8.4
und ich möchte dort gerne auf Settings ... . Die Punkte in den Namen führen allerdings zu Fehlermeldungen. Gibt es eine Möglichkeit herauszufinden, wie die Namen richtig hinterlegt sind?

Code: Alles auswählen

from pywinauto.application import Application
app = Application(backend="uia").start("C:\Program Files (x86)\Treadmill.exe")
app.TreadmillControlPanel # Treadmill Control Panel 1.8.4
app.Settings.OK  # Settings...

Re: Zugriff auf externe Programme in Python

Verfasst: Mittwoch 23. Oktober 2019, 17:20
von nezzcarth
Wenn man es so löst, wie vorgeschlagen, schreibt man finde ich eigentlich kein Programm, das die Aufgabe löst, sondern man schreibt eins, das einen Benutzer simuliert, der die Aufgabe löst. Das Häkchen in der GUI repräsentiert ja nur die Einstellung für einen menschlichen Benutzer. Daher würde ich zunächst mal schauen, ob die nicht auf "maschinen-feundliche" Art ansteuerbar ist (z.B. per Config-Datei, per Kommandozeilenparameter, unter per Registry (Windows), per DBus (Linux), ...). Wenn sich herausstellt, das es sich um eine Laufzeiteinstellung handelt, die nicht anders steuerbar ist, dann kann man, finde ich, so eine GUI-Automatisierung versuchen (und hoffen, dass sie über längere Zeit zuverlässig funktioniert).