热情的生菜 · 动物声纹库-图索科技(上海)有限公司· 5 天前 · |
活泼的骆驼 · Typescript Error ...· 1 月前 · |
个性的电池 · 第03讲:Flink ...· 2 月前 · |
爱笑的草稿本 · 电竞圈5位最帅职业选手,冷少第二,OW的A哥 ...· 4 月前 · |
打盹的板栗 · Native的模拟器运行为什么提示Socke ...· 5 月前 · |
我需要能够将应用程序清单中的dpiAware属性设置为"per monitor“。属性中的可用选项仅用于启用或禁用DPI感知。这两个设置都不适合我。如果我不在exe中嵌入清单,那么我可以获得我想要的应用程序行为,然后手动编辑清单。我想自动生成并嵌入清单。我是不是漏掉了什么?(我正在使用Visual Studio 2013。)
发布于 2017-05-17 03:15:09
Windows10中的新特性是 dpiAwareness 以及 dpiAware ,因此我们需要对此示例进行一些更新。现在,这很好,因为如果 dpiAwareness 不存在,则设置将从 dpiAware 继承。
要完全启用DPI感知,请使用最新的系统支持(请参阅参考网址以了解其他可能的选项),其中包括“ permonitor ”和“system”,因为您的问题要求它,所以我将使用它们而不是“system”。
<asmv3:application>
<asmv3:windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <!-- legacy -->
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness> <!-- falls back to pm if pmv2 is not available -->
</asmv3:windowsSettings>
</asmv3:application>
要
禁用
,您可以做相反的事情(不需要
dpiAwareness
,因为我们不支持它):
<asmv3:application>
<asmv3:windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">unaware</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
如果你碰巧使用GDI对象来绘制你自己的东西,那么甚至还有'gdiScaling‘。
<asmv3:application>
<asmv3:windowsSettings>
<gdiScaling xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">true</gdiScaling>
</asmv3:windowsSettings>
</asmv3:application>
参考: Microsoft on DPI Awareness as of latest Windows 10 build (也有关于如何让你的代码DPI感知的教程,即使它对于较大的项目来说有点乏味)
发布于 2014-11-11 06:22:20
这个清单是有效的,
<dpiAware>True/PM</dpiAware>
是最重要的部分:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
</application>
</compatibility>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>True/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</asmv1:assembly>
发布于 2017-07-09 02:07:57
在Windows101607中引入了一个名为
dpiAwareness
的新属性。它允许选择备用DPI缩放选项并覆盖
dpiAware
属性(如果存在)。为了获得最好的兼容性,应该同时指定这两个级别,并确保您的应用程序可以使用所有DPI感知级别。
以下清单在Windows10 1607+上启用每个监视器的DPI感知版本2,并在Windows 7+上启用系统DPI感知:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<assemblyIdentity type="win32" name="MyApplication" version="1.0.0.0" processorArchitecture="amd64"/>
<asmv3:application>
<asmv3:windowsSettings>
热情的生菜 · 动物声纹库-图索科技(上海)有限公司 5 天前 |