gpt4 book ai didi

windows-7 - 最小化\断开连接时的终端 session 在捕获桌面快照时返回空白屏幕

转载 作者:行者123 更新时间:2023-12-03 06:30:54 27 4
gpt4 key购买 nike

我正在使用下面的 JAVA 代码来捕获远程计算机的桌面

    Robot robot = new Robot();
BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));

ByteArrayOutputStream imageBytes = new ByteArrayOutputStream();
ImageIO.write(screenShot, "PNG", imageBytes);

return imageBytes.toByteArray();

但是,当远程计算机的终端 session 最小化或断开连接时,捕获的图像是空白的。我感谢您帮助解决这个问题,至少是最小化的情况。

配置:我在运行 Windows 7 的物理机和运行 Windows Server 2008 R2 的虚拟机上遇到同样的问题。

来自 MSDN 的更多见解:

为什么在与 RDP 断开连接时出现黑屏? http://msdn.microsoft.com/en-us/library/aa383015%28VS.85%29.aspx

这是我尝试让事情发挥作用的尝试,但以下方法都没有成功:

RDP窗口最小化时如何获取数据?您可以强制 RDP 显示驱动程序在最小化时发送数据,尝试以下步骤并让我知道情况如何:1)添加以下键HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\创建一个新的 DWORD 值并将其命名为 RemoteDesktop_SuppressWhenMinimized。指定2作为值数据。

注意:还尝试将注册表项添加到 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Terminal Server Client\2) 禁用位图缓存 ( http://technet.microsoft.com/en-us/library/cc737325(WS.10).aspx )在“远程桌面连接”窗口中,单击“选项”。

在“体验”选项卡上,验证是否选中了“位图缓存”复选框。或者,要禁用位图缓存,请清除位图缓存复选框

最佳答案

如果最小化远程桌面窗口,Windows 会将远程 session 切换到无 GUI 模式,并且不显示窗口和控件。因此,TestComplete(或 TestExecute)将无法与测试应用程序的 GUI 交互,因为它不存在,并且您的自动化 GUI 测试将失败。要解决此问题,您可以在本地计算机(启动远程桌面的位置)上更改远程桌面的注册表设置:在本地计算机上,关闭所有打开的远程桌面 session 。启动注册表编辑器 (regedit.exe)。导航到以下注册表项之一,具体取决于您是否希望仅为当前用户或计算机上的所有用户修改远程桌面设置:

HKEY_CURRENT_USER\Software\Microsoft\Terminal Server ClientHKEY_LOCAL_MACHINE\Software\Microsoft\终端服务器客户端创建一个名为 RemoteDesktop_SuppressWhenMinimized 的 DWORD 值并将其设置为 2。

或者您可以通过以下步骤以编程方式完成此操作:

  • 使窗口透明
  • 恢复窗口
  • 捕捉
  • 再次最小化
  • 删除透明度

关于windows-7 - 最小化\断开连接时的终端 session 在捕获桌面快照时返回空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5493200/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com