阅读Windows显示设置

时间:2018-03-16 11:34:16

标签: c# windows-7

在控制面板下>显示用户可以选择Smaller / Medium / Larger来更改Windows中各种显示元素的大小。在我的Windows窗体应用程序中,如何检测当前选择的值?

我已经尝试过搜索,但大多数答案都是在测量DPI的路线上:

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

对于3个设置分别返回96/120/96,并且在任何情况下都没有办法告诉用户选择了这3个无线电设置中的哪一个?

1 个答案:

答案 0 :(得分:1)

您可以使用注册表来检测此内容。

  

HKEY_CURRENT_USER \ Control Panel \ Desktop

当我在显示屏中切换选项时,

LogPixels 属性每次都会更改。

100% - 96

125% - 120

150% - 144

但我不确定每个显示器和分辨率上的值是否相同。你需要检查一下。