Задать вопрос

Почему Windows не создает handle у окна при свернутом RDP?

Добрый день!
Использую инструментарий основанный на AutoIT и непосредственно WinAPI для автоматизированной работы с Windows приложением через его GUI. Столкнулся с проблемой, допустим подключаюсь по RDP к удаленной машине, запуская на ней скрипт и он начинает работать с приложением (кликать кнопки, открывать окна и т.д.), вся работа основана на том, что нам известен handle окна и я с ним работаю отправляя через WinAPI сообщения окну (например функцией SendMessage), но стоит мне только свернуть окно RDP подключения, то на удаленной машине Windows перестает отдавать handle окна с которым работает робот. Аналогичная ситуация происходит когда RDP окно открыто и все работает корректно, но после 15 минут простоя родительская OS (через которую открываю RDP подключение) выключает дисплей и блокирует учетку (такая политика безопасности у нас).

Вопрос во в чем, можно ли как-нибудь настроить Windows, чтобы она всегда отдавала handle окна, даже если монитор выключен, а родительская OS в спящем режиме (удаленная машина в это время ведь работает).
  • Вопрос задан
  • 263 просмотра
Подписаться 3 Средний 1 комментарий
Решения вопроса 1
@tartarelin
IP KVM, VNC, Teamviewer или аналоги
Или ставить гипервизор
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Jump
@Jump Куратор тега Windows
Системный администратор со стажем.
Почему Windows не создает handle у окна при свернутом RDP
Потому что нет окна.
А нет окна, нет и handle.
Подключайтесь локально, или например через Teamwiewer - и такой проблемы не будет.

Окна это графический интерфейс для пользователя. Они создаются только когда пользователь работает в системе.
Если вы зашли в систему локально - вы будете в системе пока не нажмете кнопку выйти из системы, или выключите систему.
Если вы зашли в систему через RDP - вы будете в системе пока активен сеанс RDP, как только он становится неактивным - например вы его закрыли, или просто свернули, система перестает обслуживать графический интерфейс пользователя, ибо пользователь вышел.
Хотя запущенные процессы продолжают работать.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Проблема оказывается глубоко зарыта:
rsdn.org/forum/asm/3361089.all
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы