Key an Programm im Background schicken

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

Guten Tag,

ich habe mir ein Script geschrieben mit welchem ich "Tastendrücke" an ein Programm senden kann. Das Programm und Script läuft auf einem PC auf welchen ich über Remote zugreife.

Jetzt stürzt das Script ab wenn ich den Remotedesktop minimiere.
Und das Script klaut die Maus.
Die Keys sende ich mit pynput und das Programm hole ich mit PID und pywinauto in den Focus. (ich habe das Programm zweimal laufen).

Wie schaffe ich es, wenn ich die PID schon kenne, Keys komplett im Hintergrund an das Programm zu senden?
Und warum hat es Auswirkungen wenn ich mein Remotedesktop minimiere?

lg slook
Benutzeravatar
sparrow
User
Beiträge: 4530
Registriert: Freitag 17. April 2009, 10:28

Soweit ich weiß sinulieren alle diese Tools Tastendrücke. Ein Programm, das nicht den Fokus hat, kann normalerweise auch keine Tastendrücke empfangen. "Im Hintergrund" wird also nicht funktionieren.
slook
User
Beiträge: 25
Registriert: Mittwoch 5. Juni 2019, 20:09

in den Fokus hole ich das Program zur Zeit ja über die PID.
Das Problem ist, dass die GUI auf dem Zielrechner nicht gezeichnet wird wenn RMD minimiert ist oder der PC gesperrt ist und kein RMD aktiv ist.

Im Hintergrund sollte es funktionieren (tut es bei diveresen BOTs ja auch), die Frage ist nur ist dafür ein riesen Aufwand nötig?

Ich muss ein Script mehrere Tage (danach Wochen) laufen lassen. Der PC soll aber im Sperrbildschirm sein und ich möchte ungern die ganze Zeit den RMD laufen lassen müssen, da mein Arbeitslaptop nicht immer im Haus ist, würde spätestens dann das Script abgebrochen werden. :(
Benutzeravatar
sparrow
User
Beiträge: 4530
Registriert: Freitag 17. April 2009, 10:28

Wie gesagt: Soweit ich weiß, werden die Tastendrücke eines Benutzers simuliert. Wenn der Bildschirm gesperrt ist, kann auch kein Benutzer etwas tippen.
Das selbe gilt, wenn der Remote Desktop nicht aktiv ist.

Ich habe das immer so gemacht, dass ich eine dedizierte Umgebung dafür hatte (im Zweifelsfall in einer VM). Die Ungebung wurde nie gesperrt. Zugriff erfolgte über VNC.
Antworten