1

有谁知道我是否可以在任何地方检查这个参数?

4

2 回答 2

2

你可以阅读Graphics.DpiX来辨别这一点。

乘以Graphics.DpiX100 除以 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 回答