有谁知道我是否可以在任何地方检查这个参数?
问问题
1635 次
2 回答
2
你可以阅读Graphics.DpiX
来辨别这一点。
乘以Graphics.DpiX
100 除以 96,您将获得字体缩放百分比。这是真的,因为 100% 字体缩放等于 96dpi。
请注意,如果您的应用程序未标记为DPI 感知,那么当用户将字体缩放设置为 150% 时,该DpiX
属性将报告 96。我不知道标准 WinForms 应用程序是否标记为 DPI 感知。
于 2011-09-07T07:10:15.287 回答
0
如果您不使用 C#,则需要执行两个步骤才能使其在 Windows 7 中工作。
首先,让您的应用程序具有 DPI 感知能力。 这个博客解释了如何做到这一点。它涉及修改您的应用程序清单,或调用SetProcessDPIAware()函数(可能存在也可能不存在)。
GetDeviceCaps(hdc, LOGPIXELSX)
接下来,分别使用和获取 X/Y DPI 值GetDeviceCaps(hdc, LOGPIXELSY)
,如本 MSDN 文章中所述。
我有一个以前不知道 DPI 的应用程序,但在与文本缩放一起使用时仍然中断(如 Windows 7“显示”控制面板中可用的那样),这使它工作,而对 Windows 8 或更高版本没有影响。
于 2016-03-03T21:13:32.403 回答