Windows 使用“安全关闭RDP会话后,远程机器的屏幕分辨率发生变化”;SupersWhenMinimized”的;

Windows 使用“安全关闭RDP会话后,远程机器的屏幕分辨率发生变化”;SupersWhenMinimized”的;,windows,automation,screen-resolution,rdp,ranorex,Windows,Automation,Screen Resolution,Rdp,Ranorex,首先,很抱歉这个标题(可能不是那么具体),因为它包含多个主题 我遇到的问题与我的测试自动化设置有关。它由一台linux机器组成,该机器处理BE+FE并自行启动测试。还有一个Windows Server 2008(终端),我通过RDP会话连接到它,它是实际测试运行的地方。出于自动化目的,我使用Ranorex 首先,我如何设置Win机器: 由于Ranorex是一个GUI测试自动化工具,它需要让AUT(被测应用程序)的组件可见,因此您需要关闭RPD客户端而不关闭会话本身,否则测试将开始失败 为此,我使

首先,很抱歉这个标题(可能不是那么具体),因为它包含多个主题

我遇到的问题与我的测试自动化设置有关。它由一台linux机器组成,该机器处理BE+FE并自行启动测试。还有一个Windows Server 2008(终端),我通过RDP会话连接到它,它是实际测试运行的地方。出于自动化目的,我使用Ranorex

首先,我如何设置Win机器: 由于Ranorex是一个GUI测试自动化工具,它需要让AUT(被测应用程序)的组件可见,因此您需要关闭RPD客户端而不关闭会话本身,否则测试将开始失败

为此,我使用以下代码创建了一个bat文件:

%windir%\System32\tscon.exe RDP-Tcp#0 /dest:console
并在HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client下添加了一个注册表项DWORD值

RemoteDesktop_SuppressWhenMinimized
值为2

这样做是在使用管理员权限运行bat文件后,它将关闭RDP会话,但仍将保持终端连接打开到Win服务器机器,从而允许运行测试

现在的问题是,在安全地关闭会话后,为左侧打开的会话设置的分辨率为1024x768,而当RDP连接打开时,分辨率为1920x1200

最后一个问题是我自己无法回答的:是否有可能指定会议的决议

现在的问题是,在安全关闭会话后,为左侧打开的会话设置的分辨率>为1024x768,而当RDP连接>打开时,分辨率>为1920x1200

我也注意到了同样的事情。据我所知,您要远程处理的机器需要在物理(或虚拟)机器上具有默认分辨率=1920x1200

我已经使用VNC来解决这个限制,但我能找到的唯一信息是,所有机器上的默认分辨率都是相同的


祝你好运

我找到的唯一解决方案是在机器上安装一些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


注意:Qres设置为1920x1080,因为它不支持1920x1200,但在我的情况下(Windows 10),测试仍然以VNC->1920x1200的分辨率集运行,所以它是正常的。

我不得不处理类似的问题。我通过在机器中安装Dameware MiniRemote Control代理解决了这个问题。一旦您通过Dameware Mini远程控制应用程序连接到它,您就可以更改RDP中无法更改的分辨率。(RealVNC或类似的可能会像其他人建议的那样工作,我没有尝试过)

一些对我不起作用的解决方案

  • QRes.exe/x:1920/y:1200
  • Windows Management Instrumentation(内置):wmic desktopmonitor创建屏幕高度=1920,屏幕宽度=1200
  • 更改屏幕分辨率:
  • 持久化窗口:

  • 对于您的设置,使用VNC而不是远程桌面是可行的选择吗?这就是我们在这里使用的,没有解决问题。到目前为止,我一直在把VNC的想法放回到我的脑海中,因为我看到在当前设置中有一些非常好的性能。我将尝试克服这个问题(我还没有做到),但如果没有找到解决方案,我肯定会看看VNC的想法。ThanksI使用了powershell脚本。。请参考文章中的问题,这是因为远程机器不是物理机器。这是VDI。尝试通过注册表设置默认分辨率,但即使它具有我要查找的正确分辨率的值,它仍然使用1024x768(在RDP关闭后)