Разрешение экрана для удаленного компьютера изменяется после безопасного закрытия сеанса RDP с помощью "SupressWhenMinimzed"
Прежде всего, извините за (может быть, не очень конкретный) заголовок, поскольку он состоит из нескольких тем.
У меня проблема связана с моей настройкой автоматизации тестирования. Он состоит из машины linux, которая обрабатывает BE + FE и запускает тестирование самостоятельно. И Windows Server 2008 (Терминал), к которому я подключаюсь через сеанс RDP, и это место, где выполняются реальные тесты. В целях автоматизации я использую Ranorex.
Прежде всего, как я настроил машину Win: Поскольку Ranorex - это инструмент автоматизации тестирования GUI, он должен иметь компоненты, видимые для AUT (тестируемого приложения), и по этой причине вам необходимо закрыть клиент RPD, не закрывая сеанс. сам по себе тест начнет проваливаться.
Для этого я создал файл bat со следующим кодом:
%windir%\System32\tscon.exe RDP-Tcp#0 /dest:console
И добавил значение DWORD reg reg в папку HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client
RemoteDesktop_SuppressWhenMinimized
со значением 2.
После запуска файла bat с правами администратора он закроет сеанс RDP, но все равно будет держать терминальное соединение открытым для компьютера с Win Server, что позволит запускать тесты.
Теперь проблема заключается в том, что после безопасного закрытия сеанса разрешение, которое устанавливается для открытого левого сеанса, составляет 1024x768, в то время как при открытом соединении RDP оно составляет 1920x1200.
Итак, наконец, вопрос, на который я не смог ответить сам: возможно ли как-то указать разрешение для сеанса, который остается открытым?
3 ответа
Единственное решение, которое я нашел для меня, - это установить на компьютер какое-либо программное обеспечение VNC, подключиться к нему, изменить разрешение (в моем случае также на 1920x1200), поскольку вы не можете сделать это с помощью RDP, и у меня нет доступа к настоящая машина.
Я также загружаю инструмент QRes.exe и добавляю его в путь.
И, наконец, создайте этот скрипт:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
timeout 5
qres /X 1920 /Y 1080 /C 32
)
Создайте для него ярлык (установите для запуска от имени администратора), и с этого момента вы можете подключаться через RDP (mstsc), но оставив просто щелкнуть значок в приведенном выше сценарии вместо того, чтобы просто закрывать RDP.
PS: Qres установлен на 1920x1080, так как он не поддерживает 1920x1200, но в моем случае (Windows 10) тесты все еще выполняются в разрешении, установленном с VNC -> 1920x1200, так что все в порядке.
Теперь проблема в том, что после безопасного закрытия сеанса разрешение>, которое устанавливается для левого открытого сеанса, составляет 1024x768, в то время как когда RDP-соединение> открыто, оно составляет 1920x1200.
Я тоже заметил это. Из того, что я смог выяснить, на машине, на которую вы подключаетесь, должно быть разрешение по умолчанию = 1920x1200 на физической (или виртуальной) машине.
Я использовал VNC, чтобы обойти это ограничение, но единственная информация, которую я смог найти, чтобы предотвратить это изменение, - это иметь одинаковое разрешение по умолчанию на всех машинах.
Удачи!
Мне пришлось иметь дело с подобной проблемой. Я решил эту проблему, установив в машину агент управления Dameware MiniRemote. Подключившись к нему через приложение Dameware MiniRemote Control, вы можете изменить разрешение, которое вы не можете использовать в RDP. (RealVNC или подобные могут работать, как предлагали другие, я не пробовал их)
Некоторые решения, которые не работают для меня
- QRes.exe / x: 1920 / y: 1200 http://qres.sourceforge.net/
- Инструментарий управления Windows (встроенный): wmic desktopmonitor create screenheight = 1920, screenwidth = 1200
- ChangeScreenResolution: http://tools.taubenkorb.at/change-screen-resolution/
- Постоянные окна: http://www.ninjacrab.com/persistent-windows/