一尘不染

如何获得Windows显示设置?

c#

Windows
7中有显示设置(控制面板->显示)。它允许更改文本和屏幕上其他项目的大小。我需要获得此设置,以便能够基于设置值在C#应用程序中打开/关闭某些功能。那可能吗?


阅读 329

收藏
2020-05-19

共1个答案

一尘不染

此设置是屏幕DPI或每英寸点数。

像这样阅读:

float dpiX, dpiY;
Graphics graphics = this.CreateGraphics();
dpiX = graphics.DpiX;
dpiY = graphics.DpiY;

我认为目前X和Y值不可能相同。值96对应于100%字体缩放(较小),值120对应于125%缩放(中等),而144对应于150%缩放(较大)。但是,用户可以设置这些标准值以外的值。

请注意,除非您的应用程序声明为DPI感知的,否则您观察到的值可能会受到DPI虚拟化的影响。

2020-05-19