我正在使用 VS2017,并使用 Windows 窗体应用程序为各种 RDP 设置文件制作了一个非常简单的“启动器”。这只是调用 Process.Start 并直接链接到 .rdp 文件,或者直接链接到 mstsc.exe
应用程序(和 RDP 会话)在标准 PC 上显示并正常工作。但是,我在 Surface Books/pros 等高 DPI 设备上遇到了问题。
RDP 客户端无法正确扩展是一个众所周知的问题,我们已经使用 manifest/reg 更改方法解决了这个问题。这是确认工作。双击 .rdp 配置文件也可以正常工作。
(https://www.blackforce.co.uk/2016/04/18/remote-desktop-rdp-resolution-on-a-surface-book)
我自己的应用程序也以正确的比例正确显示。但是,当我使用 Process.Start 启动 RDP 时,RDP 客户端的扩展性很差,就像在清单修复之前一样。我试过单独打开客户端,使用 .rdp 文件,结果是一样的。我手动打开了相同的 .rdp 文件,而不是通过我的应用程序,并且客户端已正确缩放。
任何人都可以复制这个,或者告诉为什么以这种方式启动时忽略 mstsc 清单文件?我也尝试过使用 ProcessStartInfo 来设置 UseShellExecute 但仍然是相同的结果。