我们的环境主要采用了过时但绝对关键的 Win32 应用程序,该应用程序不识别 dpi。它针对 800x600 显示器进行了优化。我们的大多数用户现在都拥有 17 英寸至 20 英寸的显示器,其原始分辨率范围从 1280x1024 到 1680x1050。但是,他们仍然以 800x600 的分辨率操作这些显示器,因为这个旧应用程序中的文本太小了。当然,这也意味着 Office 2007 中的屏幕上没有任何东西可以完全容纳。
我们的大多数工作站仍在运行 Windows XP,但有些工作站运行 Windows 7,而且未来还会有更多工作站运行。约三分之一的用户通过 MS Terminal Services 远程运行该应用程序,其余用户在本地运行。
是否有人知道有什么方法可以将这个特定的应用程序缩放到大约 170%,以便它可以填满 1280x1024 屏幕,而不会影响在显示器的原始分辨率下运行最佳的其他应用程序?我知道如何在 Mac OS X 中执行此操作,但我从未找到在 Windows 中执行此操作的方法。
当然,理想情况下,我们可以通过组策略推出此功能。我想我们甚至可以创建一个自定义 MSI 包,使用某种显示虚拟化层重新部署旧版应用程序(如果存在这样的功能)。
答案1
给你两个建议:
对于在 Windows 7 上本地运行该应用程序的用户,您可能需要考虑在他们的计算机上安装 Windows XP Mode 并在那里安装该应用程序。
对于从终端服务运行应用程序的用户,您可以考虑使用 W2K8 TS 远程应用程序发布应用程序,或者使用第三方软件(如 W2K3 上的 2X)以原始分辨率发布应用程序。
答案2
有些事情说不通。他们以前使用的是哪种显示器?传统上,旧式 CRT 的“理想分辨率”保持在 100 dpi 左右,这也是大多数台式机 LCD 使用的原始分辨率。应用程序不应该小很多,只是在较大的显示器上占用较少的桌面空间。
现在,如果您的用户以 800x600 的分辨率运行 17 英寸或 19 英寸 CRT,那么情况就不同了。
话虽如此,您是否尝试过简单地使用 Win 7 的高 DPI 支持?我的理解是,它可以很好地扩展不支持高 DPI 的旧应用程序。它不会很完美,但应该不会比在非原始分辨率下运行 LCD 更差。
或者,您可以尝试为您的用户寻找整体 dpi 较低的显示器。22 英寸 1680x1050 或 19 英寸 1280x1024 显示器会稍微提升一点。
答案3
设置一个 Windows 终端服务器,将屏幕 DPI(字体大小)设置调高,并在其中安装应用程序。然后让用户(使用正常 DPI 屏幕)远程运行该应用程序。