Net分析EDID
EDID(Extended Display Identification Data,扩展显示标识数据)主要提供以下数据:
- 显示器基本信息:包括制造商名称、产品型号、序列号、生产周和年份等。
- 显示器特性:如屏幕尺寸、宽高比、色彩特性等。
- 信号支持情况:支持的视频输入信号类型,比如VGA、DVI、HDMI、DisplayPort等。
- 分辨率和刷新率:支持的最大分辨率、推荐分辨率以及支持的刷新率等。
- 时序参数:详细描述了显示器支持的各种分辨率和刷新率的时序参数,这些参数对于视频源正确配置输出信号至关重要。
- 功能特性:如是否支持3D显示、是否具备音频输出能力等。
- 数字视频接口标准:包括支持的接口标准版本,如HDMI 1.4、HDMI 2.0等。
- 显示器的物理和电气特性:如显示器的物理尺寸、电源要求等。
EDID数据通常存储在显示器的DDC(Display Data Channel,显示数据通道)中,通过视频接口(如HDMI、DVI等)与视频源(如计算机显卡、电视盒等)进行通信,使视频源能够读取并根据这些信息自动调整输出设置,以最佳方式显示内容。
从注册表获取EDID数据
string registryKey = @"SYSTEM\CurrentControlSet\Enum\DISPLAY"; using (RegistryKey displayKey = Registry.LocalMachine.OpenSubKey(registryKey)) { if (displayKey != null) { foreach (string subKeyName in displayKey.GetSubKeyNames()) { using (RegistryKey subKey = displayKey.OpenSubKey(subKeyName)) { foreach (string monitorId in subKey.GetSubKeyNames()) { using (RegistryKey monitorKey = subKey.OpenSubKey(monitorId)) { using (RegistryKey deviceParametersKey = monitorKey.OpenSubKey("Device Parameters")) { if (deviceParametersKey != null) { byte[] edid = (byte[])deviceParametersKey.GetValue("EDID"); if (edid != null) { Debug.WriteLine($"Found EDID: {BitConverter.ToString(edid)}"); } } } } } } } } }
在线分析工具
http://www.edidreader.com/ ,例如
EDID详解可参考:
1. https://www.cnblogs.com/fire909090/p/10523604.html
2. https://blog.csdn.net/qq_40569221/article/details/128384272