如何强制将应用程序缩放为高dpi?
假装有一个应用程序,开发人员将其显示为具有高dpi感知能力,而实际上却不是。如何强制进行dpi缩放?
假装有一个应用程序
HighDpiAware
,当应用程序实际上不是真正的Microsoft时,Microsoft已应用了“ ”。如何强制进行dpi缩放?
如何强制Windows将dpi缩放应用于应用程序?
编辑:什么是高dpi缩放?
并非所有用户都以96dpi运行Windows。并非每个按钮都应该为75x23像素,不是每个工具栏都为25px高,也不是每个treeview字形都为16x16。如果用户为Windows选择了不同的dpi设置,则需要适当缩放所有内容。
问题在于,几乎没有开发人员能够很好地处理高dpi设置,从而无法完成工作。最好的情况下,所有东西都将保持“相同大小”,这意味着每个东西看上去都很小。在最坏的情况下,表单的布局不正确,文本会被剪切,并且控件不可见。
从Windows Vista开始,并利用Desktop Composition的功能,Microsoft放弃了从事其工作的开发人员,而现在只依靠应用程序。他们告诉应用程序用户正在以96dpi运行。然后,Windows使用视频卡和“桌面合成”来放大表格。
优点:表格的内容可读性好。
缺点:一切都会有些模糊。
此“高dpi缩放”功能仅由用户自行决定,并且需要:
- Windows Vista或更高版本
- 启用桌面合成
- 用户关闭“使用Windows XP样式缩放”
- 用户不要禁用应用程序的缩放
作为开发人员,您可以选择不使用高dpi缩放比例。如果您努力编写正确的应用程序,并且知道可以正确处理高dpi。您可以通过将清单条目添加到可执行文件中来选择退出此缩放,声明您“ 具有高dpi感知能力 ”。
的话题如何让你的应用程序尊重用户的喜好(包括字体,字体大小和dpi设置)是一个问题stack overflow
。如清单清单中声明您的“ 高dpi意识 ” 的语法一样。
对于超级用户,此问题是如何忽略开发人员并继续添加高dpi感知清单清单的开发人员,而实际上该应用程序不是高dpi感知。他们告诉Windows禁用缩放功能,但实际上并未测试该应用程序。那里有带有“高dpi感知”清单清单的软件,现在该应用程序在“大字体”(例如120dpi)下无法使用。