Смена серийного номера монитора

Обновлено: 19.05.2024

Как изменить номера страниц в оглавлении
Всем доброе время суток. В оглавлении указанны номера страниц, т.е. , есть ли возможность.

Как изменить формат отображения телефонного номера в базе?
Здравствуйте друзья. В базе есть номера мобильных телефонов вида: "8928XXXXXXX" надо перевести их.

Подскажите, как изменить так, чтоб номера строк выводились не с нуля, а от единицы?
Часть кода с заполнением матрицы размерностью 4х6: private static void outSumma(int s) < .

Как правильно расположить 7 мониторов?
Здравствуйте. У меня есть 7 мониторов подключенных к одному компьютеру, стоят 3 видеокарты.

У меня 1 монитор, но если верить описанию на 1 скриншоте, то нужно нажать мышкой на 2 и не отпуская перетянуть на 1. Пробуйте и отпишитесь. Петрович2
Делал так. После этого становится что-то типа реверс мод. То есть если чтобы перейти на другой моник мне просто нужно было потянуть курсор вправо, то при таком режиме - влево (хотя сам монитор стоит справа)

Петрович2
Роли не сильно поменяет. У одного разъем DVI, а у другого - HDMI

Как вариант, отключить в nVidia этот монитор. Выключить комп. Включить только тот, который хочу сделать основным и подключить второй .

Как вариант, отключить в nVidia этот монитор. Выключить комп. Включить только тот, который хочу сделать основным и подключить второй . Ну и . пробуйте. Вы даже не написали какие мониторы и способ их подключения. Петрович2
Ничего не помогло . Ни удаление драйверов nVidia. Даже пытался сначала только с одним монитором работать (все установил на нем), а потом подключил другой и он цифру 1 поменял на 2
А тот монитор, который подключил сделал цифрой 1 . HDMI имеет приоритет перед DVI и если я не ошибаюсь, то подключенный по HDMI монитор будет всегда первым, а по DVI вторым. Назовите модели мониторов и как подключен каждый.

Петрович2
Основной монитор, на который я хочу, чтобы все выводилось, чтобы именно он был под цифрой 1 - BenQ Zowie XL2411 - DVI разъем
Второй монитор (который на данный момент под цифрой 1) - DELL S2340L - HDMI разъем

Добавлено через 2 минуты
Петрович2
Хотя в карте GTX 770 такого не наблюдалось .

и если я не ошибаюсь, то подключенный по HDMI монитор будет всегда первым, а по DVI вторым. ошибаетесь системе по барабану как подключен по HDMI или по DVI, всё зависит от настроек самого пользователя
Основной монитор, на который я хочу, чтобы все выводилось, чтобы именно он был под цифрой 1

Так он с самого начала стоит основным)

P.S. Вторая фотография

Так он с самого начала стоит основным)
P.S. Вторая фотография

на этой фотографии основной монитор под цифрой 2

Добавлено через 32 минуты

Делал так. После этого становится что-то типа реверс мод. То есть если чтобы перейти на другой моник мне просто нужно было потянуть курсор вправо, то при таком режиме - влево (хотя сам монитор стоит справа)

настрой мышь правильно для работы с двумя мониторами

Так решили проблему или нет? У меня такая же проблема

И у меня. С виндой это не связано. Мне пришлось отключить телевизор (HDMI) от компа, чтобы видеть биос на мониторе (DVI). Я купил на алиэкспрессе переходник DP-HDMI, да так и не подключил. Потому что я - ленивая жопа.

Эти приоритеты разъёмов обычно защиты в биос видеокарты. В какой-то теме мне это объясняли, в какой-то я это объяснял. Обычно HDMI > VGA > DVI . Как ни переключай мониторы, всё первый это тот, кто первее в этом порядке, а не в порядке подключения. В биосе если будет подключён 1 монитор, запустить БИОС и подключить 2 монитор, то картинка останется на том который подключили первым, если подключено сразу несколько, то выводится на первый по тому порядку (хдми вга дви)

Как настроить несколько мониторов?!
При подключении дополнительного монитора к ПК, Windows, он автоматически определяет монитор и.

Как настроить несколько мониторов?
задался вопросом подключения второго монитора к рабочему буку lenova y460 os backbox 3.05 (xubuntu.

Как подключить несколько мониторов к одному порту
У меня видеокарта Powercolor PCI-Ex Radeon HD7870 Eyefinity 6 Edition На шесть мониторов но для.

Как жестко отключить один из мониторов в Debian?
Есть ноутбук у которого разбита матрица. Я решил &quot;сделать&quot; что-то типа моноблока (снял крышку и.

Как подключить 8 мониторов к одному системному блоку?
Как подключить 8 мониторов к одному системному блоку?

Как узнать модель и серийный номер монитора


Как узнать модель и серийный номер монитора

EDID - Extended Display Identification Data - стандарт формата данных VESA, расширенные данные идентификации дисплея. Эта информация передается монитором или телевизором на устройство, которое генерирует видео сигнал. EDID содержит базовую информацию о мониторе и его возможностях, включая информацию о производителе, максимальном размере, цветовых характеристиках, заводских таймингах, границах частотного диапазона и другие технические данные. Кроме этого в EDID записаны строки, содержащие модель монитора и его серийный номер. Вот они-то нас и интересуют.

После подключения и установки драйверов монитора в систему, в реестре для него формируется соответствующая запись. Нам остается только ее найти, прочитать и извлечь нужные данные. В интернетах можно найти официальный мануал VESA по стандарту EDID.

VESA Enhanced EDID Standard (ENG)

В документе почти сотня страниц, много теории и всякой технической заумности, поскольку применение EDID очень широкое. Быстро найти нужную информацию, мягко говоря, проблематично. В английском варианте статьи на Википедии эта информация разложена более понятным образом. Итак, в структуре EDID в байтах 54-125 должны быть записаны 4 блока идентификаторов. Структура каждого идентификатора описана там же. Забегая вперед отмечу, что слово "должны" некоторые производители понимают по-своему. Например, для моего маленького китайского монитора серийный номер вообще не узнать, так как в EDID записаны два блока таймингов, диапазоны работы монитора и название модели. При парсинге такие ситуации придется учитывать.

Переходим к программированию. Несколько структур, часть из которых вы уже видели в статье про выключение мониторов. Там же описан и принцип работы с мониторами, как получить их список, как получить хэндл и прочее. Настоятельно рекомендую ознакомиться, чтобы у вас не возникало вопросов, а мне не пришлось дублировать теоретические выкладки.

  1. struct PHYSICAL_MONITOR
  2. hPhysicalMonitor dd ?
  3. szPhysicalMonitorDescription rw 128
  4. ends
  5. struct MONITORINFOEX
  6. cbSize dd ?
  7. rcMonitor RECT
  8. rcWork RECT
  9. dwFlags dd ?
  10. szDevice rb 32
  11. ends
  12. struct DISPLAY_DEVICE
  13. cb dd ?
  14. DeviceName rb 32
  15. DeviceString rb 128
  16. StateFlags dd ?
  17. DeviceID rb 128
  18. DeviceKey rb 128
  19. ends
Callback-функция для EnumDisplayMonitors, помимо уже знакомого вам функционала из статьи по ссылке выше, дополнена кодом получения и парсинга EDID.
  1. ;--------------------------------------------------------
  2. ; Callback-функция перебора мониторов
  3. ;--------------------------------------------------------
  4. proc MonitorEnumProc hMonitor : DWORD , hdc : DWORD , lpRect : DWORD , lParam : DWORD
  5. locals
  6. ; Количество мониторов
  7. num dd ?
  8. ; Массив PHYSICAL_MONITOR
  9. hMonArray dd ?
  10. MonArray dd ?
  11. Manufacturer dd ?
  12. CurrentValue dd ?
  13. MaximumValue dd ?
  14. CurrentS dd ?
  15. MaximumS dd ?
  16. ResS dd ?
  17. endl
  18. ; Получить количество физических мониторов
  19. leaeax , [ num ]
  20. invoke GetNumberOfPhysicalMonitorsFromHMONITOR , [ hMonitor ] , eax
  21. ; Физических мониторов нет
  22. cmp [ num ] , 0
  23. je . loc_ret
  24. ; Зарезервировать память под массив PHYSICAL_MONITOR
  25. moveax , [ num ]
  26. imuleax , sizeof . PHYSICAL_MONITOR
  27. invoke GlobalAlloc , GMEM_MOVEABLE + GMEM_DDESHARE , eax
  28. mov [ hMonArray ] , eax
  29. invoke GlobalLock , [ hMonArray ]
  30. mov [ MonArray ] , eax
  31. ; Получить информацию о всех физических мониторах
  32. invoke GetPhysicalMonitorsFromHMONITOR , [ hMonitor ] , [ num ] , [ MonArray ]
  33. ; Выключить все мониторы поочередно
  34. movecx , [ num ]
  35. movesi , [ MonArray ]
  36. . loc_monitors_loop :
  37. pushecx
  38. pushesi
  39. ; Информация о мониторе
  40. mov [ minfo . cbSize ] , sizeof . MONITORINFOEX
  41. invoke GetMonitorInfo , [ hMonitor ] , minfo
  42. mov [ dds . cb ] , sizeof . DISPLAY_DEVICE
  43. invoke EnumDisplayDevices , minfo . szDevice , NULL , dds , 0
  44. invoke RtlZeroMemory , edidmodel , 256
  45. invoke RtlZeroMemory , edidsn , 256
  46. invoke RtlZeroMemory , regstr , 256
  47. ; Сформировать название ключа реестра
  48. ; SYSTEM\CurrentControlSet\Enum\DISPLAY\
  49. invoke lstrcpy , regstr , szReg0
  50. movedi , regstr
  51. invoke lstrlen , edi
  52. addedi , eax
  53. ; Дописать к нему подстроку из DeviceID
  54. movesi , dds . DeviceID
  55. @ @ :
  56. lodsb
  57. oral , al
  58. jz . loc_no_devid
  59. cmpal , '\'
  60. jne @ b
  61. @ @ :
  62. lodsb
  63. oral , al
  64. jz . loc_no_devid
  65. stosb
  66. cmpal , '\'
  67. jne @ b
  68. ; Открыть ветку реестра
  69. ; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\PHL0904\
  70. invoke RegOpenKey , HKEY_LOCAL_MACHINE , regstr , hKey
  71. oreax , eax
  72. ; Открыть ключ не получилось, пропускаем
  73. jnz . loc_no_devid
  74. ; Перебрать все дочерние ключи, начиная с 0
  75. mov [ dKeysIndex ] , 0
  76. . loc_scan_keys_monitor :
  77. ; Просканировать все ключи
  78. invoke RegEnumKey , [ hKey ] , [ dKeysIndex ] , buff , tmp
  79. oreax , eax
  80. jnz . loc_no_more_keys
  81. ; Сформировать название ключа реестра
  82. ; SYSTEM\CurrentControlSet\Enum\DISPLAY\PHL0904\
  83. invoke lstrcpy , buff2 , regstr
  84. ; 5&217f22ba&0&UID1048848
  85. invoke lstrcat , buff2 , buff
  86. ; \Device Parameters
  87. invoke lstrcat , buff2 , szReg1
  88. ; Открыть параметр EDID в ключе реестра
  89. ; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\PHL0904\
  90. ; 5&217f22ba&0&UID1048848\Device Parameters
  91. invoke RegOpenKeyEx , HKEY_LOCAL_MACHINE , buff2 , 0 , KEY_READ , hSubKey
  92. oreax , eax
  93. ; Такого параметра нет, проверить следующий ключ
  94. jnz . loc_next_key
  95. ; Прочитать EDID
  96. invoke RtlZeroMemory , edid , 500h
  97. mov [ tmp ] , 500h
  98. invoke RegQueryValueEx , [ hSubKey ] , szReg2 , 0 , 0 , edid , tmp
  99. oreax , eax
  100. jnz . loc_no_edid
  101. ; Найти в EDID строки Serial Number и Model
  102. xorecx , ecx
  103. ; Начинаем разбор с 72-го байта
  104. movebx , 48h
  105. . loc_scan_edid :
  106. movesi , ebx
  107. addesi , edid
  108. movbyte [ esi + 18 ] , 0
  109. ; Serial Number
  110. cmpdword [ esi ] , 0xFF000000
  111. jne . loc_not_edidsn
  112. addesi , 5
  113. movedi , edidsn
  114. . loc_move_edidsn :
  115. lodsb
  116. cmpal , 20h
  117. jb . loc_next_edid
  118. stosb
  119. jmp . loc_move_edidsn
  120. . loc_not_edidsn :
  121. ; Model
  122. cmpdword [ esi ] , 0xFC000000
  123. jne . loc_next_edid
  124. addesi , 5
  125. movedi , edidmodel
  126. . loc_move_edidmodel :
  127. lodsb
  128. cmpal , 20h
  129. jb . loc_next_edid
  130. stosb
  131. jmp . loc_move_edidmodel
  132. . loc_next_edid :
  133. addebx , 18
  134. incecx
  135. cmpecx , 2
  136. jbe . loc_scan_edid
  137. . loc_no_edid :
  138. ; Закрыть ключ
  139. invoke RegCloseKey , [ hSubKey ]
  140. . loc_next_key :
  141. ; Следующий индекс
  142. inc [ dKeysIndex ]
  143. jmp . loc_scan_keys_monitor
  144. . loc_no_more_keys :
  145. invoke RegCloseKey , [ hKey ]
  146. . loc_no_devid :
  147. ; edidsn -> Serial Number, если есть
  148. ; edidmodel -> Model
  149. ; или пустые строки, если записи о мониторе в реестре нет
  150. invoke wsprintf , buff , mask , edidmodel , edidsn
  151. addesp , 16
  152. invoke MessageBox , 0 , buff , dds . DeviceName , 0
  153. . loc_next_monitor :
  154. ; Следующая запись из массива PHYSICAL_MONITOR
  155. popesi
  156. addesi , sizeof . PHYSICAL_MONITOR
  157. popecx
  158. subecx , 1
  159. jnz . loc_monitors_loop
  160. ; Прибраться за собой
  161. invoke DestroyPhysicalMonitors , [ num ] , [ MonArray ]
  162. ; Освободить память
  163. invoke GlobalUnlock , [ hMonArray ]
  164. invoke GlobalFree , [ hMonArray ]
  165. . loc_ret :
  166. ; Продолжаем обработку
  167. moveax , TRUE
  168. ret
  169. endp

Как я говорил выше, в зависимости от производителя монитора, искомых строк в EDID может вообще не оказаться, или может быть только название модели, с этим я уже столкнулся на практике. Также выяснилось, что при подключении одного и того же монитора к разным компьютерам, получаемые значения его серийного номера могут отличаться. Я не могу даже предположить, с чем это связано. Ну и теоретически, раз уж EDID хранится локально в реестре, то его можно модифицировать, изменив какие-нибудь байты и подкорректировав контрольную сумму. Так что безоговорочно доверять данным EDID не надо.

Скриншот программы Phoenix EDID Designer


Скриншот программы Phoenix EDID Designer

Для более детального изучения структуры EDID, а также для редактирования имеющихся значений, можно воспользоваться малюсенькой утилитой Phoenix EDID Designer. Ее разработка прекращена, офсайт недоступен, последнюю версию я выложил сюда.

Phoenix EDID Designer 1.3

В приложении пример программы с исходным текстом, которая выводит название модели и серийный номер для каждого подключенного монитора.

Favorite

В закладки

Как проверить оригинальность запчастей в вашем iPhone (дисплей, аккумулятор, камера), не разбирая его

При покупке iPhone на вторичном рынке нужно тщательно проверить гаджет, чтобы избежать проблем с устройством в будущем.

Одним из этапов такой проверки является тест на оригинальность всех компонентов гаджета. На вид определить, какие модули в смартфоне заменены практически невозможно, а вот при помощи специального ПО можно получить всю нужную информацию за минуту.

Что понадобится для проверки

Проще всего произвести тест на Windows-компьютере при помощи специализированного приложения. Если ПК с ОС от Microsoft у вас нет, можно установить Windows в качестве второй системы или воспользоваться виртуальной машиной.

▶ Mac или ПК с операционной системой Windows.

▶ Бесплатное приложение 3uTools.

▶ Кабель для подключения iPhone или iPad к компьютеру.

Утилита 3uTools это своеобразный iTunes на максималках. Приложение позволяет проделывать множество операций с подключенными гаджетами Apple.

Есть возможность просматривать полную статистику устройства, устанавливать любую подписываемую версию iOS или iPadOS (скачать прошивку можно прямо через приложение), выгружать контент с гаджета, копаться в резервных копиях, смотреть количество циклов заряда аккумулятора и даже делать джейлбрейк на поддерживаемых версиях системы.

Сейчас же нас интересует раздел с подробной статистикой подключаемого гаджета.

Как проверить компоненты iPhone на оригинальность


1. Скачиваем и устанавливаем приложение 3uTools в операционной системе Windows. Для работы потребуется актуальная версия iTunes и сопутствующие драйвера для iPhone.

2. Запускаем 3uTools и подключаем iPhone к компьютеру при помощи кабеля.


3. В разделе Подробнее об устройстве можете найти много полезной информации. Здесь есть данные о наличии джейлбрейка, количестве циклов заряда аккумулятора, заводской цвет модели, регион продажи гаджета, IMEI, серийный номер и другую информацию.

4. Гораздо более интересным является раздел Показать отчет об устройстве.


Здесь собраны данные о компонентах устройства. Можете сличить заводские данные с фактическими и увидеть, какие детали были заменены.

В приложении отображаются: Wi-Fi, Bluetooth и GSM-модули, основная и фронтальная камеры, материнская плата, аккумулятор, дисплей, Touch ID или Face ID блоки. Для большинства компонентов кроме серийного номера будет доступна дата производства.

Так можно сразу же узнать о замене основных модулей iPhone и предположить примерные сроки ремонта устройства.

Вот так за минуту получите подробный отчет о железе гаджета и сможете сделать соответствующие выводы.

(24 голосов, общий рейтинг: 4.67 из 5)

Favorite

В закладки

Здравствуйте требуется получить модель и серийный номер монитора. Я знаю что информация о мониторе есть в /var/log/Xorg.0.log. Но не всегда приходит модель и серийник монитора. Я хотел бы узнать какая программа пишет /var/log/Xorg.0.log название и серийник монитора? Возможно как-то не из Xorg.0.log получить данные.

ps пакета read-edid в системе нет


Вместо /sys. поставить свой видеовыход и карту. Это я для примера.

Zubok ★★★★★ ( 12.11.17 16:45:12 )
Последнее исправление: Zubok 12.11.17 16:45:37 (всего исправлений: 1)



Как альтернативные варианты: Можно посмотреть в меню самого монитора, или на мониторе (серийный номер и модель обычно сзади, а только модель можно и спереди)


Нда. Неужели раздел форума не намекает, что это нужно получать программно? ^_^

Ещё можно посмотреть в чек магазина, где был приобретён монитор :-) Или в гарантийный талон :-) Кстати, гарантийный талон должен быть заполнен, как правило, чтобы быть действительным :-)

У меня не каждый дистрибутив правильно узнает размер монитора.


В меню самого монитора - это программно.

Неужели раздел форума не намекает, что это нужно получать программно


не каждый монитор правильно отдаёт edid

Скорее всего не каждый дистрибутив правильно его читает. Потому что в некоторых дистрибутивах всё правильно.

Читайте также: