以编程方式或使用清单(MinGW)将";覆盖高DPI缩放设置为";系统(增强)(&q;) [英] Setting "Override high DPI scaling" to "System (Enhanced)" programmatically or with a manifest (MinGW)
本文介绍了以编程方式或使用清单(MinGW)将";覆盖高DPI缩放设置为";系统(增强)(&q;)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试了gdiScaling
和dpiAware
的所有可能组合,但仍未成功。
如果我手动右击app.exe,并将"覆盖高DPI缩放"设置为"系统(增强)",它将工作得很好。
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
<gdiScaling>true</gdiScaling>
<dpiAware>False</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
推荐答案
尝试此清单:
<asmv3:application>
<asmv3:windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</dpiAware>
<gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling>
</asmv3:windowsSettings>
</asmv3:application>
它摘自Windows 10 1809的MMC.exehosts device manager and this must work:
Microsoft管理控制台(Mmc.exe)将通过以下方式进行GDI扩展 默认,在创建者更新中。这意味着许多收件箱窗口 管理单元(如设备管理器)将受益于中的此功能 创建者更新。
如果这也不起作用,请使用SetProcessDpiAwarenessContext函数和DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
中定义的DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
启用via code
#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5)
这篇关于以编程方式或使用清单(MinGW)将";覆盖高DPI缩放设置为";系统(增强)(&q;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文