与 Windows 2003 服务器相比,Windows 2012 服务器上的远程桌面 Winforms 程序更大

Winforms program is larger through Remote Desktop on Windows 2012 server compared to Windows 2003 server

最近,我们将处理远程桌面连接的服务器从 2003 年切换到 2012 年。当我 运行 在每台服务器上使用相同的 winforms 程序时,2012 年的那个似乎更大。我的工作站是 Windows 10,我将分辨率降低到 1280 x 768,这样我就可以在每台服务器上的每个 RDP 会话中看到顶部和底部的屏幕。在 2003 服务器上,屏幕适合桌面。在 2012 服务器上,屏幕低于桌面,您看不到底部。看起来像文本框这样的控件只是稍微大了一点,这迫使整个程序变得更大。

我确实检查了 Windows 10 桌面上的 "Change the size of text, apps, and other itmes",它设置为 100%(推荐)。这似乎不是问题。

有谁知道为什么两个服务器之间的行为会发生变化?

这可能是因为 2012 进行了 DPI 缩放(因此远程会话尝试将 DPI 调整为与客户端会话相同):https://superuser.com/questions/830234/remote-desktop-into-windows-8-1-pc-with-high-dpi-scaling(另外,我猜你的意思是 2012R2因为 DPI 缩放仅出现在对应于 2012R2 的 RDP 8.1 中。

我遇到了同样的问题,我对我的组织在 RDS 2012 上花费的金额感到震惊,这简直就是一场彻头彻尾的噩梦。我们有各种类型的 Surface、桌面和显示器,所有这些都要求每个用户都具有在实际终端服务端更改分辨率和显示设置的能力。我们已经尝试了客户端和服务器端的所有方法来纠正此问题,但显示对某些用户来说太大而对其他用户来说太小。为什么微软不像服务器 2008 那样推出补丁????我了解 DPI 缩放技术,我会告诉你,当你拥有多个版本的 Microsoft Surface 和其他品牌桌面时(是的,我们已经在服务器端安装了桌面体验),这很糟糕。

以下是我强烈推荐的:

放弃整个终端服务器 2012 配置并使用单独的虚拟桌面。在此之后,为每个桌面安装显示和分辨率补丁,让每个用户配置自己的分辨率和显示设置。您的用户不仅会感谢您,您也会感谢您自己!!

这个问题已经持续了大约一个星期,我在远程桌面上重新启动了 Windows Server 2012,DPI 恢复正常了! :) 我想这一定是一些自动 Windows 更新解决了这个问题。