0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 4
|
|
1 | |
Идентификация производителя монитора26.05.2013, 17:22. Показов 3053. Ответов 14
Метки нет (Все метки)
Здравствуйте, не первый день пытаюсь найти способ узнать (идентифицировать) производителя монитора.
Например (из аиды64): ID монитора SAM0691 Программу нужно написать на TASM, нашёл только информацию по EnumDisplayDevices, но как реализовать не знаю, и ещё вычитал про прерывание INT 1Dh, но про него тоже не где нечего нет...
0
|
26.05.2013, 17:22 | |
Ответы с готовыми решениями:
14
Идентификация треугольника Идентификация объектов на изображении Идентификация процессора Горячая правая часть монитора, а также адаптер у монитора - в чём причины? |
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
26.05.2013, 17:36 | 2 |
zloymedved,
прерывание 1Dh возвращает адрес активной таблицы видеопараметров и к монитору никакого отношения не имеет, самое правильное это прочитать информацию из веток реестра
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2013, 18:01 | 3 |
Вообще-то вытаскивается по INT 10 4F15 - VESA VBE/DC (Display Data Channel) - READ EDID, если моник поддерживает EDID/DDC. Мой - нет.
Здесь подробно: http://www.ctyme.com/intr/rb-0308.htm
1
|
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 4
|
|
26.05.2013, 18:02 [ТС] | 4 |
Спасибо, пробую.
0
|
Ушел с форума
|
|
26.05.2013, 19:15 | 5 |
C помощью SetupDi-функций можно получить такую информацию.
Последовательность действий примерно следующая: 1) Запрашивается набор устройств системы, поддерживающих интерфейс "монитор". Для этого вызывается SetupDiGetClassDevsW с параметром GUID_DEVINTERFACE_MONITOR и флагами DIGCF_PRESENT | DIGCF_DEVICEINTERFACE. 2) Для каждого найденного устройства вызывается SetupDiGetDeviceRegistryPropertyW с параметром SPDRP_HARDWAREID. В случае успешного вызова функция заполнит буфер строкой с соответствующим идентификатором. Например, у меня возвращает "MONITOR\BNQ76BF". Определений GUID_DEVINTERFACE_MONITOR и некоторых других в стандартных заголовках Windows SDK нет, их нужно брать из заголовков Windows Driver Kit. P.S. Учтите, что мониторов в системе может быть как несколько (у меня два), так и ни одного (на серверах или на виртуалках).
0
|
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 4
|
||||||
26.05.2013, 19:55 [ТС] | 6 | |||||
Тут проблема в том, что я вообще в программировании 0
Попытался написать на FASM:
Не могу справится с потоком информации...
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
||||||
26.05.2013, 19:56 | 7 | |||||
Убежденный, а можно даже из-под доси[FASM]:
0
|
Ушел с форума
|
|
26.05.2013, 20:18 | 8 |
Charles Kludge, как Вы собираетесь вызывать прерывания в непривилегированном режиме ?
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2013, 20:24 | 9 |
А кто мне вообще мешает вызывать int 10h в realmode? Оно же так и зовётся - VESA BIOS Extension(VBE). Читайте Ральфа...
1
|
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 4
|
|
26.05.2013, 20:26 [ТС] | 10 |
Спасибо огромное ещё раз.
0
|
Ушел с форума
|
|
26.05.2013, 20:51 | 11 |
Как Вы собираетесь переключаться в реальный режим ? Доступ к CR0 вызовет #GP.
Или я ничего не понимаю и в этом разделе форума подразумевается только DOS и real mode ?
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2013, 20:57 | 12 |
Убежденный, оно у меня и в консоли идёт, да и переделать в PE-console не проблема. Собственно, как и под линупс.
0
|
Ушел с форума
|
|
26.05.2013, 21:30 | 13 |
Ок, скопировал Ваш пример в редактор FASM, запустил.
Вылетела ошибка: "Не удалось запустить программу или компонент из-за несовместимости с 64-разрядной версией Windows". Добавил строку "format PE console", не помогло, ошибка 0xC0000005.
0
|
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
|
|
26.05.2013, 21:46 | 14 |
Вот поэтому-то сёмка и осьмушка меня не интересуют - там по граблям ещё ходить-не переходить.
0
|
Ушел с форума
|
|
26.05.2013, 22:02 | 15 |
Грабли не при чем. 64-битные Windows не поддерживают 16-битные приложения,
об этом сказано, например, здесь: General Porting Guidelines:
0
|
26.05.2013, 22:02 | |
26.05.2013, 22:02 | |
Помогаю со студенческими работами здесь
15
Выбор монитора за 10-13 тыс. Диагональ монитора 22-24, LED, FullHD, HDMI Выбор видеокарты для монитора - память карты, разрешение монитора Правильная настройка монитора или Что делать, если от монитора болят глаза и голова Как задать координаты монитора в зависимости от монитора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |