电脑屏幕的物理尺寸就是一个电脑屏幕实际的宽度和高度,可以用尺寸度量的。
网上有很多介绍获取获取电脑屏幕的物理尺寸的方法,但是大多都是错的。
要想知道自己的电脑屏幕的真实物理尺寸,可以安装一个【鲁大师】,然后通过【硬件检测】,在显示器信息中可以显示屏幕的物理尺寸,如下图所示:
那么这个屏幕的物理尺寸是从哪里获得的呢?
最可靠的办法是通过显示器的驱动程序中显示的EDID数据来获取。
关于EDID的详细解释可以看这个链接。
我们只要知道的是,EDID是个字节数组,里面的22字节和23字节分别表示的是以厘米显示的显示器的水平的宽和垂直的高。
这个EDID是位于注册表键 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\DISPLAY 中。
通过上述的知识,就可以通过如下的C#代码获取电脑屏幕的准确物理尺寸:
string[] arr;
RegistryKey rk;
rk = Registry.LocalMachine.OpenSubKey(@”SYSTEM\ControlSet001\Enum\DISPLAY”);
arr = rk.GetSubKeyNames();
string sName1 = arr[0];
rk = Registry.LocalMachine.OpenSubKey(@”SYSTEM\ControlSet001\Enum\DISPLAY\” + sName1);
arr = rk.GetSubKeyNames();
string sName2 = arr[0];
rk = Registry.LocalMachine.OpenSubKey(@”SYSTEM\ControlSet001\Enum\DISPLAY\” + sName1 + @”\” + sName2);
arr = rk.GetSubKeyNames();
string sName3 = arr[0];
string sTN = @”SYSTEM\ControlSet001\Enum\DISPLAY\” + sName1 + @”\” + sName2 + @”\” + sName3;
rk = Registry.LocalMachine.OpenSubKey(sTN);
byte[] arr1 = (byte[])rk.GetValue(“EDID”);
MessageBox.Show(“你的显示器是” + arr1[21] + “厘米宽,” + arr1[22] + “厘米高”);
发表评论