我使用的是 Windows 10,目前,我为每个应用程序专门设置了HIGHDPIAWARE注册表项中的(高 DPI 缩放)属性位于:
HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
有了这些价值观:
但我真的不想为该功能指定每个应用程序。
问题:
我怎样才能使所有应用程序都如此HIGHDPIAWARE
?
答案1
不行。旧应用程序无法在不进行任何更改的情况下实现高 DPI 感知,因为这需要应用程序使用较新的高 DPI API。应用程序必须通过清单文件或某些 API 调用将自己声明为高 DPI 感知,否则 Windows 会按位图缩放它们,从而使它们变得模糊。这就是上述注册表项的作用。详细设置如下
- HIGHDPIAWARE:在高 DPI 设置下禁用显示缩放 - 缩放执行者:应用程序(Win7/10)
- DPIUNAWARE:缩放执行者:应用程序(Win10 build 15002+)
- GDIDPISCALING DPIUNAWARE:缩放执行者:系统(增强)(Win10 build 15002+)
事实上,如果你打开 *.exe 文件的属性,该键与兼容性选项卡中的 dpi-override 设置完全相同
因此,在 ...\AppCompatFlags\Layers 中设置 HIGHDPIAWARE 不会自动使您的应用支持高 DPI。它只会使 Windows想该应用支持高 DPI 分辨率,并且禁用缩放。该应用以 100% 缩放比例显示,因此在高 DPI 显示屏上会变小,但结果更清晰
当然可以一次为多个应用设置标志,但这不是解决问题的方法。覆盖所有应用的高 DPI 设置可能会使真正的高 DPI 感知应用出现问题
也可以看看