以编程方式或使用清单(MinGW)将"覆盖高DPI缩放设置为"系统(增强)(&q;) [英] Setting "Override high DPI scaling" to "System (Enhanced)" programmatically or with a manifest (MinGW)

查看:0
本文介绍了以编程方式或使用清单(MinGW)将"覆盖高DPI缩放设置为"系统(增强)(&q;)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试了gdiScalingdpiAware的所有可能组合,但仍未成功。

如果我手动右击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)将&quot;覆盖高DPI缩放设置为&quot;系统(增强)(&q;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆