Как получить серийный номер монитора?

Кто-нибудь знает, как получить серийный номер подключенного монитора в C или C++? Я нашел некоторый код, но они написаны в VBS, которые я не понимаю. Мне нужен пример кода, написанного на C или C++. Я знаю, что серийные номера считываются из EDID, но, к сожалению, я не знаю как:(Может кто-нибудь мне помочь?

Спасибо

Обновление: мне тоже нужен тип мониторов, но это тоже можно как-то прочитать из EDID

3 ответа

Это не совсем то, что вы ищете, но хорошей отправной точкой должен быть GetMonitorInfo

Я думаю, копание еще на страницах MSDN должно дать вам все, что вам нужно. MSDN - это отличное место для поиска функций C/C++ Windows API.

Вот ссылка на более читаемый код VB. То, что он в основном делает, ищет в реестре, где окна хранят данные EDID монитора. Он находится по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\...\ Параметры устройства

В статье Википедии вы можете найти информацию о формате EDID

Этот код DisplayDetails.GetMonitorDetails() отлично работал для меня. В ходе тестирования я обнаружил, что мониторы Dell надежно возвращают данные S/N, однако все дисплеи сторонних производителей, которые я пробовал (3 других бренда), этого не сделали.

Другие вопросы по тегам