远程桌面截图出现黑屏的解决办法
2017-02-15 10:59:11   来源:   评论:0 点击:268

第一步:mstsc admin v:服务器IP 连接远程服务器,启动截屏服务第二步:在远程时,输入rscon exe 0 dest:console,自动管理远程连接,OK,截屏将不会出现黑屏
第一步:mstsc /admin /v:服务器IP 连接远程服务器,启动截屏服务

第二步:在远程时,输入rscon.exe 0 /dest:console,自动管理远程连接,OK,截屏将不会出现黑屏
ConnectionFile 指定用于连接的 .rdp 文件的名称
/v:server[;port] 指定要连接的远程计算机
/admin 将连接到会话以管理服务器
/f 在全屏幕模式下启动“远程桌面”连接
/w:width 指定远程桌面窗口的宽度
/h:height 指定远程桌面窗口的高度
/public 在公用模式下运行远程桌面
/span 是远程计算机的高度和宽度与本地虚拟桌面相匹配,如有必要扩展到多个显示器。若要扩展到多个显示器,所有显示必须具有相同的高度并垂直排列
/console 连接到指定 Windows 2000 Server 的控制台会话
/edit 打开指定的 .rdp 文件进行编辑
/migrate 将使用“客户端连接管理器”创建的旧版连接文件迁移到新的 .rdp 连接文件中.
简而言之: 使用MSTSC远程登录SERVER,只是登录到对方的虚拟桌面.(一台SERVER一般支持2个以上的用户登录到自己的虚拟桌面,而这2个用户之间运行的程序是互相看不见的)
使用MSTSC /ADMIN登录SERVER,是登录到对方的终端模式.(即表明当时你就做为管理员身份在操作这台SERVER)
参考地址
http://support.microsoft.com/kb/243202/

http://www.vbforums.com/showthread.php?p=3657773

一、遇到的问题

在Windows桌面软件进行UI自动化测试时,如果只为了替换手工,编写的测试脚本只在实体机上运行的话,不会涉及到远程桌面连接的问题。但在工作中,我们经常会将测试脚本部署到虚拟机上去执行,从而在自动化测试执行过程中,还可以进行一些其他的工作。这时,问题来了,如果只是在虚机后台运行而没有远程桌面连接的话,鼠标点击、键盘操作事件均是无效的,如何解决呢?

于是我们就在自己的工作机上,远程连接上了虚机,执行测试脚本,ok,一切顺利,但是当我们把远程连接窗口最小化时,问题又出现了,鼠标键盘模拟又失效了!!为啥呢?

二、原因分析

当我们通过mstsc启动远程桌面连接时,被连接的Windows会启动一个会话(Session)。此时你对远程桌面窗口里面的所有操作(鼠标,键盘)将会‘翻译’成TCP包传输过去,被连接的Windows接收到这些包之后,‘还原’命令并且在当前的活动会话上面执行。而当你断开连接时(点X关闭),会话变成断开状态,Windows会自动关闭会话(这里这样说是不准确的,事实上会话还是在的,只是状态变成断开的),也就导致了所有基于GUI的操作‘失效’了。而当最小化远程桌面时,Windows为了节约网络带宽传输,会暂时‘关闭会话’,导致你的模拟操作程序失效。

三、问题解决

为了能够让测试脚本正常执行,第一个想到的办法就是,远程连接上虚机,永远不要关,也不要最小化。当然,我们如果能够操作虚机所在的远程机器的话,我们可以在远程机器上登录虚机,然后永远不再远程登录虚机。这两个方法最直接,但也是最弱的,有没有更好的方案呢?

1 注册表法

如果从A机器通过远程桌面连接到机器B,则我们需要修改机器A上的注册表项,步骤如下:

  1. 运行regedit
  2. 找到注册表项HKEY_CURRENT_USER\Software\Microsoft\TerminalServer Client
  3. 创建一个类型为DWORD的注册表值项RemoteDesktop_SuppressWhenMinimized并设置值为2
  4. 然后找到注册表项HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Terminal Server Client
  5. 创建一个类型为DWORD的注册表值项RemoteDesktop_SuppressWhenMinimized并设置值为2
  6. 关闭注册表编辑窗口

    PS:如果你想针对所有用户进行修改的话,只需要将HKEY_LOCAL_MACHINE下对应的项修改即可。完成以上操作后,如果在A机器上连接机器B后,窗口最小化后,鼠标键盘操作也可以正常模拟了。

2 自登陆法

我们远程连接上虚机后,可以在远程虚机上执行一个bat脚本,使得虚机能够自己登陆自己,bat脚本如下:

@%windir%\System32\tscon.exe 0 /dest:console

@%windir%\System32\tscon.exe 1 /dest:console

@%windir%\System32\tscon.exe 2 /dest:console

将脚本内容,保存为Close_RDP.bat,在远程虚机上双击运行,正常情况下,虚机会自动关闭,在虚机关闭的情况下,鼠标键盘的模拟仍然是生效的,不过此方法存在不太稳定的情况,不推荐使用。

3 开源远程桌面连接软件法

使用C#开源远程桌面连接软件Multi RDP Client .NET,当远程连接上后,最小化的情况下,鼠标键盘模拟仍然是生效的。另外由于是开源软件,所以我们可以在源码基础上,扩展自己的功能,比如说在自动化测试过程中,接收请求,自动远程连接相应机器,来满足自动化测试的需求。另外,使用第三方远程连接软件,我们可以将软件的数据保存到远程的数据库中,这样,我们只需要有软件,不需要知道机器密码就可以使用执行机器了。

四、总结

以上几种解决远程桌面问题的方法,在工作中都有可能用到,比如说在脚本初期,我们使用到的机器不是太多的情况下,脚本的运行需要手工进行,这时,我们可以采用注册表法,这样就可以将远程桌面的窗口最小化到任务栏了;而当我们机器不断增多时,比如说自动化执行的机器超过了10个甚至更多,这时我们最好借助开源远程连接软件了。对于大规模的虚机管理,我们推荐使用开源远程连接软件来进行管理。

如果你有任何疑问或建议的话,欢迎发送消息到“ 搜狗测试 ”公众号,我们会在第一时间与你联系

远程桌面截图出现黑屏的解决办法相关推荐

  1. Windows连接远程桌面时出现黑屏的解决办法

    在工作中,客户购买了Windows服务器后,为了操作方便我们经常使用远程桌面功能,有时候难免会遇到一些问题.比如连接时出现桌面黑屏,导致无法继续进行操作,本篇博客就记录一下解决办法.高手可以忽略,不喜 ...

  2. 视频截图为黑屏的解决办法

    现象:看在线电影时(屏幕窗口固定在网页上的那种)用PrintScreen键截图,然后在画图板上粘贴并保存,会出现影片截图是黑屏或跟着电影一起播放的情况. 相关资料:将计算机屏幕截取为图像文件是我们日常 ...

  3. Win10远程桌面黑屏详细解决办法

    居家办公的时候很多用户都会远程公司的电脑进行工作,但是有用户发现在远程桌面时遇到黑屏的现象,这该怎么办?不要着急,小编这里就为大家带来远程桌面黑屏无法使用的解决方法. 游戏专用Win10系统下载_游戏 ...

  4. 1.VMwareTools的安装,vmware启动的时候,虚拟机黑屏,解决办法

     1 选中虚拟机,右击,然后点击:安装Vmware-tool(最好是有网络的情况下安装) 2 将Vmware-tool的安装文件拷贝到临时目录下,截图如下: 3 解压VMwareTools-9.6 ...

  5. Win7休眠后唤醒出现黑屏的解决办法

    进入睡眠状态可很好地节约电源和延长硬件的使用寿命,很多用户的电脑进入睡眠状态后,唤醒无法正常进入屏幕,而是变成黑屏的故障,怎么回事?其实出现这种情况并非什么系统故障问题,下面小编给大家分享Win7休眠 ...

  6. 计算机还原桌面后黑屏,图文教您win7系统开机进入桌面后显示黑屏的恢复办法...

    随着电脑的使用率越来越高,我们有时候可能会遇到win7系统开机进入桌面后显示黑屏问题,如果我们遇到了win7系统开机进入桌面后显示黑屏的问题,要怎么处理win7系统开机进入桌面后显示黑屏呢?我们只用1 ...

  7. dnf连接服务器黑屏xp系统,xp系统开机黑屏的解决办法

    xp系统开机黑屏的解决办法  有些用户在使用XP系统时,有时候操作失误导致XP系统开机时黑屏,有开机声音,但是屏幕无显示,这是什么原因呢?其实这是因为你使用电脑是不小心更改了分辨率,一般更改了分辨率, ...

  8. 计算机显示器黑屏首先检查,蓝快干货 | 电脑黑屏的解决办法

    原标题:蓝快干货 | 电脑黑屏的解决办法 我们在日常工作中会突然遇到电脑黑屏的故障,这会让很多电脑小白措手不及,影响工作进度.今天小编就用通俗易懂的语言来给大家科普一下,电脑黑屏的快速解决办法,大家可 ...

  9. 电脑开机后黑屏的解决办法

    电脑开机后黑屏的解决办法 Ctrl + Alt + Delete(或Del)键打开任务管理器,点到详细信息(Windows 10系统)下,找到explorer.exe 右键或选中explorer.ex ...

最新文章

  1. ssh中c3p0连接mysql_JSP+SSH+Mysql+C3P0实现的传智播客网上商城
  2. 服了,为什么100M宽带还这么卡?
  3. html解析器编译原理,编译原理实验报告词法分析器(内含源代码).docx
  4. 静态注册BroadcastReceiver内部类
  5. 如何在 ASP.Net Core 中使用 Configuration Provider
  6. 【UVa】1600 Patrol Robot(dfs)
  7. Spring Boot——开发新一代Spring应用
  8. PAT 1059 Prime Factors[难]
  9. 字节跳动年底再招 10000 人,前端工程师非常紧缺!
  10. 按钮插件和按钮状态切换
  11. 整理索引碎片,提升SQL Server速度 SQL Server“吃内存”的解决(转载)
  12. 机器学习 --- 3. 贝叶斯怎么想?(转)
  13. android 利用cmdline,将參数从preloader传递到kernel
  14. 企业微信 java_java企业微信开发之通讯同步
  15. centos7zabbix-agen安装
  16. 扬声器安装程序unknown,电脑无声音
  17. nvm use报错exit status 1解决方法
  18. 如何读书阅读--每天一本书计划
  19. python对excel操作简书_python Excel 写
  20. 物联网+区块链溯源方案

热门文章

  1. 2022年电赛 声源定位跟踪系统(E题)
  2. vue+element实现非常好看的鲜花网站商城,页面完整,样式美观
  3. 十进制与二进制相互转换
  4. NLP自然语言处理实战(三):词频背后的语义--3.主成分分析
  5. FastReID阅读笔记
  6. .so .so.1区别
  7. 用python操控手机刷视频,自动刷金币
  8. 闪验联通定制版SDK iOS集成文档
  9. 自动控制原理04--根轨迹法
  10. 【8086】中国电力出版社 微机原理实验与课程设计指导书 实验二 数据处理实验程序设计 答案