高DPI屏幕和Windows:如何使程序像在低分辨率屏幕上一样工作?


11

我在高分辨率笔记本电脑屏幕上使用Windows 10。某些程序支持高分辨率屏幕,并且看起来清晰。有些没有,看起来模糊,但仍然以正确的尺寸显示。我对两者都很满意。

但是,有些程序只对高DPI设置提供半支持:它们要么看起来很小,要么某些窗口元素很小,而另一些则是正常大小。这使得其中某些程序无法使用,而另一些程序则非常不愉快。

是否有任何方法可以要求Windows欺骗这些程序,使其认为它们在低分辨率屏幕上运行,然后按比例放大它们?我更希望所有窗口元素都以正确的大小呈现,即使这意味着它们将变得模糊。

为避免混淆:我知道应用程序属性中的“在高DPI设置上禁用显示比例缩放”兼容性设置,但这不是我所需要的。我要问的是相反的情况:启用模糊放大,并使应用程序相信它正在低分辨率屏幕上运行。

Answers:


11

让我们一起大放牛。

下载并安装应用程序兼容性工具包。其中包括一个名为兼容性管理器的程序,该程序有两个版本,一个是32位版本,另一个是64位版本。以与您要修改的应用程序相同的位运行该文件。

背景技术:许多应用程序声称它们支持某些功能,但随后却搞乱了实现。Microsoft一直在处理此问题,并且他们已经创建了兼容性基础结构,可以将修补程序重新用于常见问题。这些修复程序是作为垫片实现的,可拦截对Windows API的调用。我们将使用一个填充程序来有效取消应用程序对DPI感知的声明。其他的垫片确实做得更好/可配置(请参阅参考资料CorrectFilePaths),而有些垫片只是针对应用程序的环境(如ForceAdminAccess)。

在兼容性管理员左窗格的底部,您将在“自定义数据库”中看到一个新条目。右键单击它,然后选择新建兼容模式。给它命名(我用过DpiMisbehavior)。在左侧列表中,找到DPIUnaware并单击>按钮将其启用。完成后,单击“确定”。

创建兼容模式

再次右键单击定制数据库,然后选择新建应用程序修复。填写程序名称和供应商(这些无关紧要),然后选择应用程序的主EXE。(在这里,兼容性管理器的重要性很重要。)完成此操作后,请按Next。

创建修复

在“ 其他兼容模式”中,向下滚动并找到您刚才创建的兼容模式。选中其框。如果需要,请进行测试运行,然后单击“下一步”。

应用修复

现在,严格来说,您无需创建兼容模式,因为您可以在此处应用特定的修复程序。我这样做是为了防止以后需要向该模式添加其他修复程序,以便将它们应用于该模式下的所有应用程序。因此,您无需执行“ 兼容性修复”步骤即可直接执行下一步。

无需额外的修复

匹配信息用于识别程序(EXE)代表的应用程序。(如果将修补程序应用于不需要它们的程序,那将是非常不幸的。)所有选中的条目都必须与某个程序匹配才能获得该修补程序。兼容性管理员从您先前指定的EXE中提取了这些条件值。默认值很好,或者如果您对此有强烈的感觉,可以更改它们。满意时点击完成。

无需对匹配信息进行任何操作

对需要它的每个程序重复Application Fix创建的东西。然后按工具栏中的保存。给它起任何你想要的名字;我用过DPI Repair。然后将其保存在所需的文件系统中的任何位置。如果将来需要修改它,则可以使用“打开”工具栏项并选择该文件。

最后,右键单击新命名的定制数据库,然后选择Install

成功

哦耶。

如果将来确实需要修改兼容性数据库,只需打开它,进行适当的更改,单击“保存”,然后执行“重新安装”;它将直接越过旧版本。实际上,您可以将此数据库复制到另一台计算机上,并使用兼容性管理器将其安装在该计算机上,而无需重新创建它。

可选的娱乐方式:展开“ 系统数据库”下的“ 应用程序”条目,以查看Microsoft必须使用此基础结构修复的程序列表。单击程序的条目将显示您应用了哪些修复程序和兼容模式。在“ 兼容性修补程序”下,您可以看到计算机可以使用的修补程序的完整列表。


在Windows 10上,如果创建自定义兼容模式,将无法保存数据库,但是如果仅进行应用程序修复,一切都将正常进行。
格温
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.