Как получить серийный номер монитора?
Кто-нибудь знает, как получить серийный номер подключенного монитора в 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 других бренда), этого не сделали.