2015-04-21 6 views
2

Я пытаюсь сохранить окно удаленного рабочего стола живым, т. Е. Избежать заставки и закрытия соединения из-за таймаута бездействия (мне не разрешено настраивать поведение сеанса удаленного рабочего стола).pywinauto сохранить удаленный рабочий стол жив

Использование pywinauto Я только понял, чтобы подключиться к приложению, но теперь, например, app.Click() не работает. В WWW нет информации о том, как имитировать только щелчок в окне.

Может ли кто-нибудь мне помочь?

Заранее спасибо.

ответ

1

Вам необходимо описать диалог, который вы хотите щелкнуть. Также есть 2 типа кликов.

# it sends WM_LBUTTONDOWN and WM_LBUTTONUP messages to the window 
app.RemoteDesktopConnection.Click() 

# it generates "more natural" click with moving cursor to the window 
app.RemoteDesktopConnection.ClickInput() 

Щелчок на элементе управления в диалоговом окне:

app.Window_(title='Remote Desktop Connection').Edit.ClickInput(double=True) 
+0

Хммм ... Я совершенно не знаком с pywinauto. Поэтому app.RemoteDesktopConnection.Click() не работает, но приложение [u'the полное квалифицированное название объекта]. ClickInput() выполняет задание. Соглашения об именах в app.SomeName для меня - полное чудо. Кроме того, app.RemoteDesktopConnection.Click() не устанавливает фокус на окно. Это верно? –

+0

Да. Но вы можете установить фокус, вызывая 'app [u'dlg name]. SetFocus()'. –

+0

Другое соглашение (если вам нужно точное соответствие) является 'app.Window_ (title = u'dialog name ')', потому что 'app.dlg' ==' app [u'dlg'] '==' app.Window_ (best_match = u'dlg ') '. Это сила Python: метод '__getattr__' переопределяется. –

Смежные вопросы