2015-08-10 3 views
1

У меня очень похожая проблема с этим: SetForegroundWindow in Remote Desktop Connection Все работает, когда я подключен и смотрю RDC, но когда я не .. Ничего не происходит. Я использую python и pywinauto, пытаясь использовать метод SendKeys: SetForegroundWindow возвращает 0, то же, что и GetLastError после этого, поэтому я понятия не имею, что может вызвать проблемы.Подключение к удаленному рабочему столу - окно SetForeground не работает

Редактировать: Я также пробовал другие методы, такие как BringWindowToTop или SetActiveWindow, также я пытался отправить alt key перед сменой окон - ничего не работало.

ответ

0

Если ваш сценарий pywinauto работает на удаленной машине, он вообще не может управлять окном RDP, поскольку окно RDP находится на вашей локальной машине.

Для предотвращения потери контекста GUI в RDP вам не нужно минимизировать окно RDP локально. RDP может потерять фокус безопасно, но минимизация приводит к остановке любой связанной с GUI активности.

Это правильно для любой автоматизации графического интерфейса, а не только для pywinauto. Если у вас много тестовых машин, лучший способ - иметь 1 мастер и много подчиненных. Ведущий хост может инициировать и поддерживать неинминированные удаленные сеансы, ведомые службы запускают сценарии автоматизации графического интерфейса.

+0

Таким образом, нет возможности для этого, если рабочий стол не открыт и не сведен к минимуму? – Muco

+0

Я не знаю о таких вариантах. Тестирующие команды в нашей компании используют для этого описанный подход «ведущий-ведомый». Если вы хотите продолжить работу на локальном компьютере, просто переключитесь в другое окно после выключения полноэкранного режима. –

+0

Спасибо за помощь! – Muco

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