1

I'm trying to programatically read the CEC (Consumer Electronic Control) address of my HDMI port. This information is stored in the EDID information that the video card polls out of the monitor via the DDC channel. https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

For whatever reason Windows only saves the first half into the registry and dumps the rest - which is where the data I'm interested in is.

I've spent about a day reading up on the subject but I've hit kind of a wall. Previous questions only covered the first EDID block which gets stored in the registry: Win32 code to get EDID in Windows XP/7

I know it's possible to read the other blocks because the MonInfo tool is able to: http://www.entechtaiwan.com/util/moninfo.shtm

I think it might be possible to query it via the some graphics drivers, but I was hoping for a more universal solution.

Community
  • 1
  • 1
  • A few years ago I rewrote the EDID on a monitor that had bogus data in it. But I eventually did that from Linux not windows as - other than the cached registry data - Windows did not make it very easy to access the EDID data directly and if I recall correctly you need to write a driver to execute code in kernel mode to access the necessary bits. – Chris Becke Jul 21 '16 at 09:47
  • 2
    [VideoPortDDCMonitorHelper](https://msdn.microsoft.com/en-us/library/windows/hardware/ff570290.aspx). Or talk directly to the I²C interface, using [DeviceIoControl](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216.aspx). – IInspectable Jul 21 '16 at 11:14

0 Answers0