0

Ich muss GUI-Anwendung auf Remote-Windows-Host ausführen und dann einige Aktionen mit Maus und Tastatur. Dies sollte vom lokalen PC aus geschehen, ohne eine GUI-Anwendung zu öffnen (zum Beispiel "Remote Desktop Connection").Control-Maus auf Remote-Windows-Server

So habe ich ein Python-Skript auf dem Remote-Server, der alle Aktionen, die ich brauche (getestet auf dem lokalen PC), und ich führen das Skript über psexec, die die GUI-Anwendung auf dem Server erfolgreich öffnet.

Das Problem ist, dass, wenn Python versucht, programmatisch zu bewegen und Maus klicken, es eine Ausnahme auslöst, weil es keinen Bildschirm gibt.

Aktionen mit der Tastatur (Strg-A, Strg-C, Strg-V) können erfolgreich ausgeführt werden.

Hier ist der Code, den ich benutze, um Mausklick zu simulieren, aber wie ich erwähnte, funktioniert es nicht auf dem Server, weil es keinen tatsächlichen Bildschirm gibt.

win32api.SetCursorPos((x,y)) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0) 

Kann mir jemand eine Lösung vorschlagen?

+0

Was haben Sie bisher versucht, die Aufgabe zu lösen, in der Sie uns zu lösen? – Torxed

+0

@Torxed Ich bitte dich nicht um etwas für mich zu lösen Ich bitte um einen Vorschlag. Ich habe versucht Win32api, Mausklick programmatisch zu simulieren, aber wie ich schon sagte, weil es keinen Bildschirm gibt, hat es nicht funktioniert. win32api.SetCursorPos ((x, y)) win32api.mouse_event (win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0,0) win32api.mouse_event (win32con.MOUSEEVENTF_LEFTUP, x, y, 0,0) –

+0

, die viel besser . Bevor Sie uns gebeten haben, Ihnen eine Lösung vorzuschlagen, die im Grunde entweder meinungsbezogen ist oder Sie uns bitten, die Codierung für Sie zu tun - beides ist hier nicht erlaubt (lesen Sie die FAQ):) Aber das ist viel besser, fügen Sie diesen Code hinzu Ihre Frage. – Torxed

Antwort

0

Versuchen Sie, über ctypes direkt mit user32.dll zu verbinden, und verwenden Sie von dort aus Maussteuerfunktionen. Vielleicht Win32types Problem ist, dass es meist statisch mit MS-API verknüpft ist. Also ist es für die Desktop-Umgebung programmiert.

Sie können auch versuchen, Pymouse-Modul, die Sie auf pypi.python.org finden können, natürlich, die das gleiche tut, wie ich oben vorgeschlagen.

Verwandte Themen