首先对这个标题(可能不是那么具体)感到抱歉,因为它包含多个主题。
我遇到的 atm 问题与我的测试自动化设置有关。它由一台处理 BE + FE 并启动测试本身的 Linux 机器组成。我通过 RDP session 连接到 Windows Server 2008(终端),它是运行实际测试的地方。出于自动化目的,我使用 Ranorex。
首先我如何设置Win机器: 由于 Ranorex 是一个 GUI 测试自动化工具,它需要让组件对 AUT(被测应用程序)可见,因此您需要关闭 RPD 客户端而不关闭 session 本身,否则测试将开始失败。
为此,我使用以下代码创建了一个bat文件:
%windir%\System32\tscon.exe RDP-Tcp#0 /dest:console
并在 HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client 下添加了一个注册表项 DWORD 值
RemoteDesktop_SuppressWhenMinimized
值为 2。
这样做的作用是在使用管理员权限运行 bat 文件后,它将关闭 RDP session ,但仍保持与 Win Server 计算机的终端连接打开,从而允许运行测试。
现在的问题是,安全关闭 session 后,为左侧打开的 session 设置的分辨率为 1024x768,而当 RDP 连接打开时,分辨率为 1920x1200。
最后,我自己无法回答这个问题:是否可以以某种方式指定保持打开状态的 session 的分辨率?
最佳答案
我找到的唯一解决方案是在计算机上安装一些 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。
P.S.:Qres 设置为 1920x1080,因为它不支持 1920x1200,但在我的情况下(Windows 10),测试仍然以 VNC -> 1920x1200 设置的分辨率运行,所以没问题。
关于windows - 使用 "SupressWhenMinimzed"安全关闭 RDP session 后,远程计算机的屏幕分辨率发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35862217/