admin管理员组文章数量:1025332
当Windows系统将显示比例切换到非100%后,系统会对exe程序自动进行缩放。系统所做的自动缩放,是简单的放大,放大后的文字和图片会变得模糊。所以有时我们想让程序维持100%的缩放比例,或者我们程序自己实现缩放(QQ就是自己实现缩放的),需要将系统的自动缩放给禁用掉。那如何禁用系统的自动缩放呢?
原先我们知道一个系统API函数SetProcessDPIAware,调用该函数,就是告诉系统不要对当前程序进行缩放,程序自己感知缩放。但是该函数的调用,在win10系统中并不会生效。
后来我们到MSDN上查看SetProcessDPIAware函数的说明,MSDN上特别强调了不要调用该函数,而应该使用manifest文件去设置:
在SetProcessDPIAware函数的说明中,给出了一个“Setting the default DPI awareness for a process”超链接,在该链接页面中给出了一个manifest内容范例:
将内容拷贝到txt文件中,然后将文件重命名为manifest文件即可。然后将该manifest文件添加到工程中,编译一下就好了。
下面将示例manifest文件中的内容给出来:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:application>
<asmv3:windowsSettings>
<dpiAware xmlns="http://schemas.microsoft/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
当Windows系统将显示比例切换到非100%后,系统会对exe程序自动进行缩放。系统所做的自动缩放,是简单的放大,放大后的文字和图片会变得模糊。所以有时我们想让程序维持100%的缩放比例,或者我们程序自己实现缩放(QQ就是自己实现缩放的),需要将系统的自动缩放给禁用掉。那如何禁用系统的自动缩放呢?
原先我们知道一个系统API函数SetProcessDPIAware,调用该函数,就是告诉系统不要对当前程序进行缩放,程序自己感知缩放。但是该函数的调用,在win10系统中并不会生效。
后来我们到MSDN上查看SetProcessDPIAware函数的说明,MSDN上特别强调了不要调用该函数,而应该使用manifest文件去设置:
在SetProcessDPIAware函数的说明中,给出了一个“Setting the default DPI awareness for a process”超链接,在该链接页面中给出了一个manifest内容范例:
将内容拷贝到txt文件中,然后将文件重命名为manifest文件即可。然后将该manifest文件添加到工程中,编译一下就好了。
下面将示例manifest文件中的内容给出来:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:application>
<asmv3:windowsSettings>
<dpiAware xmlns="http://schemas.microsoft/SMI/2005/WindowsSettings">true</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>
版权声明:本文标题:如何禁用Windows系统对exe程序的自动缩放? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1739172742a1629388.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论