按理说其实官方给出了足够详细的文档:
https://social.technet.microsoft.com/wiki/contents/articles/665.how-to-set-the-monitor-for-a-remote-desktop-session-in-a-multi-monitor-setup.aspx
不过貌似大多数博客文章问答资料基本上都不提这个文档,我也是后来搜 winposstr 这个关键词的时候发现这份文档的。
其实早在很多年前的菜鸟阶段我就挺喜欢 Windows 自带的远程桌面客户端 mstsc 的,觉得它功能全、连接快、性能流畅。
但后来,也就几年前,真正开始对远程桌面有需求了,却发现 mstsc 不能满足需要。我需要让远端桌面尽可能占满屏幕,但同时在底端显示本地的任务栏,这样能时刻关注本机状态,及时处理事件。mstsc 窗口模式下不能自动设置“非整”分辨率,而是对整个画面进行失真缩放,全屏模式则更难用。
以至于被迫安装了 mRemoteNG 作为替代,但这货经常出现“画面中某个动画内容的矩形范围冻结僵死并保持原位置遮盖”的问题,用得一点不顺心。
今天再接再厉又一次查找让 mstsc 无失真窗口化并保留本地任务栏的方法,功夫不负有心人,在某个英文论坛里的帖子里看到了思路,举一反三后成功实现了。
其实就是改 mstsc 的配置文件,比如那个默认的 Default.rdp:
- 把 screen mode 改成 id:i:1
- 把 desktopheight 适当减小,在屏幕高度的基础上减掉任务栏的高度 40 ,再减掉窗口标题栏的高度 23
- 把 winposstr 那一行删掉,让 mstsc 的窗口位置固定在左上角
搞定!
https://social.technet.microsoft.com/wiki/contents/articles/665.how-to-set-the-monitor-for-a-remote-desktop-session-in-a-multi-monitor-setup.aspx
不过貌似大多数博客文章问答资料基本上都不提这个文档,我也是后来搜 winposstr 这个关键词的时候发现这份文档的。
其实早在很多年前的菜鸟阶段我就挺喜欢 Windows 自带的远程桌面客户端 mstsc 的,觉得它功能全、连接快、性能流畅。
但后来,也就几年前,真正开始对远程桌面有需求了,却发现 mstsc 不能满足需要。我需要让远端桌面尽可能占满屏幕,但同时在底端显示本地的任务栏,这样能时刻关注本机状态,及时处理事件。mstsc 窗口模式下不能自动设置“非整”分辨率,而是对整个画面进行失真缩放,全屏模式则更难用。
以至于被迫安装了 mRemoteNG 作为替代,但这货经常出现“画面中某个动画内容的矩形范围冻结僵死并保持原位置遮盖”的问题,用得一点不顺心。
今天再接再厉又一次查找让 mstsc 无失真窗口化并保留本地任务栏的方法,功夫不负有心人,在某个英文论坛里的帖子里看到了思路,举一反三后成功实现了。
其实就是改 mstsc 的配置文件,比如那个默认的 Default.rdp:
- 把 screen mode 改成 id:i:1
- 把 desktopheight 适当减小,在屏幕高度的基础上减掉任务栏的高度 40 ,再减掉窗口标题栏的高度 23
- 把 winposstr 那一行删掉,让 mstsc 的窗口位置固定在左上角
搞定!