我尝试了所有可能的组合gdiScaling
and 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.exe 中提取出来的主机设备管理器,这必须工作 https://blogs.windows.com/buildingapps/2017/04/04/high-dpi-scaling-improvements-desktop-applications-windows-10-creators-update:
Microsoft 管理控制台 (mmc.exe) 将采用 GDI 缩放,通过
默认情况下,在创意者更新中。这意味着许多内置 Windows
管理单元(例如设备管理器)将受益于此功能
创作者更新。
如果这也不起作用,请启用它via code https://stackoverflow.com/a/51748836/1466046 with 设置ProcessDpiAwarenessContext https://learn.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setprocessdpiawarenesscontext功能和DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED
其定义于"Include\10.0.BUILDNUMBER.0\shared\windef.h"
as
#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)