高 DPI 屏幕和 Windows:如何使程序在低分辨率屏幕上运行?

Sza*_*lcs 12 high-dpi scaling windows-10

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

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

有什么办法可以让 Windows 愚弄这些程序,让它们认为它们在低分辨率屏幕上运行,然后按比例放大它们?我更希望所有窗口元素都以正确的大小呈现,即使这意味着它们会变得模糊。

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

Ben*_*n N 13

让我们打出大炮。

下载并安装应用程序兼容性工具包。其中包括一个名为 Compatibility Administrator 的程序,它有两个版本,一个是 32 位版本,另一个是 64 位版本。运行与您要破解的应用程序具有相同位数的那个。

背景:许多应用程序声称它们支持某个功能,但随后弄乱了实现。Microsoft 一直在处理这个问题,并且他们创建了兼容性基础结构来重用常见问题的修复程序。这些修复程序作为垫片实现,拦截对 Windows API 的调用。我们将使用一个 shim 有效地取消应用程序的 DPI 意识声明。其他 shims 做更高级/可配置的事情(请参阅 参考资料CorrectFilePaths),而有些只是对应用程序的环境撒谎(如ForceAdminAccess)。

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

创建兼容模式

再次右键单击自定义数据库并选择Create New ? 应用程序修复。填写程序名称和供应商(这些并不重要)并选择应用程序的主 EXE。(这是兼容性管理员的重要性所在。)完成后按下一步。

创建修复

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

应用修复

现在,严格来说,您不需要创建兼容模式,因为您可以在此处应用特定的修复程序。我让您这样做,以防您稍后需要向该模式添加其他修复程序,以便它们适用于您置于该模式下的所有应用程序。因此,您可以直接点击 Next 而无需在Compatibility Fixes步骤中执行任何操作。

不需要额外的修复

匹配信息用于识别程序 (EXE) 代表什么应用程序。(如果修补程序应用于不需要它们的程序,那将是相当不幸的。)所有选中的条目必须与程序匹配才能获得修补程序。兼容性管理员从您之前指定的 EXE 中提取这些条件值。默认值很好,或者如果你对这些事情有强烈的感觉,你可以改变它们。满意后点击完成。

无需对匹配信息采取任何行动

为每个需要它的程序重复应用程序修复创建内容。然后按工具栏中的保存。给它任何你想要的名字;我用过DPI Repair。然后将其保存在您想要的文件系统中的任何位置。如果您以后需要修改它,您可以使用打开工具栏项并选择该文件。

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

成功

哦耶。

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

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