我在高分辨率笔记本电脑屏幕上使用 Windows 10。有些程序支持高分辨率屏幕,看起来很清晰。有些程序不支持,看起来很模糊,但仍然以正确的尺寸显示。我对两者都很满意。
但有些程序对高 DPI 设置的支持并不完善:它们要么看起来很小,要么某些窗口元素很小,而其他窗口元素则为正常大小。这使得其中一些程序根本无法使用,而其他程序使用起来非常不愉快。
有没有办法让 Windows 欺骗这些程序,让它们认为它们在低分辨率屏幕上运行,然后将它们放大按比例地? 我更希望所有窗口元素都以正确的大小呈现,即使这意味着它们会变得模糊。
为避免混淆:我知道应用程序属性中的“禁用高 DPI 设置上的显示缩放”兼容性设置,但这不是我需要的。我要求的是与此相反的:使能够模糊的升级并使应用程序认为它在低分辨率屏幕上运行。
答案1
让我们拿出重武器吧。
下载并安装应用程序兼容性工具包。其中包括一个名为“兼容性管理器”的程序,它有两个版本,一个 32 位版本,一个 64 位版本。运行与要破解的应用程序位数相同的那个。
背景:许多应用程序声称它们支持某个功能,但随后却搞砸了实现。微软一直在处理这个问题,他们已经创建了兼容性基础设施来重复使用常见问题的修复程序。这些修复程序以垫片的形式实现,拦截对 Windows API 的调用。我们将使用一个垫片来有效地取消应用程序对 DPI 感知的声明。其他垫片可以做更花哨/可配置的事情(请参阅CorrectFilePaths
而有些则只是向应用程序撒谎,告知其环境(例如ForceAdminAccess
)。
在兼容性管理员左窗格的底部,您将看到自定义数据库中的新条目。右键单击它,然后选择创建新的→兼容模式。为其命名(我使用了DpiMisbehavior
)。在左侧列表中,找到DPIUnaware
并单击>
按钮以启用它。完成后单击“确定”。
再次右键单击自定义数据库并选择创建新的→应用程序修复填写程序名称和供应商(这些并不重要)并选择应用程序的主 EXE。(这是兼容性管理员的位数很重要的地方。)完成后按下一步。
在其他兼容模式,向下滚动并找到您刚刚创建的兼容模式。选中它的复选框。如果需要,请进行测试运行,然后单击下一步。
现在,严格来说,您不需要创建兼容模式,因为您可以在此处应用特定修复。我让您这样做是为了以防您稍后需要向该模式添加其他修复,以便它们将应用于您置于该模式下的所有应用程序。因此,您可以直接点击下一步,而无需在兼容性修复步。
匹配信息用于识别程序 (EXE) 代表的应用程序。(如果对不需要修复的程序应用修复程序,那就太不幸了。)所有选中的条目必须匹配,程序才能获得修复。兼容性管理员从您之前指定的 EXE 中提取了这些标准值。默认值就可以了,或者如果您对此有强烈的要求,也可以更改它们。满意后点击完成。
对每个需要它的程序重复创建应用程序修复。然后按工具栏中的保存。给它起任何你想要的名字;我用的是DPI Repair
。然后将其保存在文件系统中的任何位置。如果您将来需要修改它,您可以使用打开工具栏项并选择该文件。
最后,右键单击新命名的自定义数据库,然后选择安装。
哦耶。
如果将来您确实需要修改兼容性数据库,只需打开它,进行适当的更改,点击“保存”,然后重新安装;它就会直接覆盖旧版本。事实上,您可以将此数据库复制到另一台计算机,并使用兼容性管理器在那里安装它,而不必重新创建它。
可选娱乐活动:展开应用进入以下系统数据库查看 Microsoft 必须针对此基础架构修复的程序列表。单击程序条目将显示已应用的修复和兼容模式。在兼容性修复,您可以看到您的计算机可以使用的修复程序的完整列表。