| 
| 
 | Вопрос # 3 168/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!Как на Delphi можно узнать модель материнской платы? Уже неделю по инету лазаю - нигде не могу найти.
 
|  |   Вопрос задал: gm44 (статус: Посетитель)Вопрос отправлен: 10 сентября 2009, 12:04
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 29 сентября 2009, 16:56; участников в обсуждении: 2. 
|   | Вадим К (статус: Академик), 10 сентября 2009, 12:22 [#1]:А думаете, что есть готовая функция, которая и ссылку на сайт производителя даст? нет, к сожалению нет. Можно попробовать выудить немножко информации с этой части реестра HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System
 
 Сразу отвечу на встречный вопрос " а как эверест/аида и подобные программы узнают какая материнская плата?" а очень просто. Они собирают информацию - сколько юсб портов, какая версия биоса, какие функции биоса доступны и так дальше. А потом на основании базы знаний, смотрят, что подходит.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gm44 (статус: Посетитель), 10 сентября 2009, 14:19 [#2]:В  HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System точно нет. Там я первым делом смотрел. А что касается готовой функции, но есть же функция которая выдает модель видеокарты почемубы и не быть функции для материнки  С эверестом тоже не согласе - модель материнки он выводит даже если материнка новее чем версии эвереста. Есть такой старый набор компонентов MITEC_SYSTEM_INFORMATION, он отлично с этим справляется и выдает название материки даже новых моделей,  покопался в его исходниках но так и не понял как там это реализовано, складывается впечатление, что там это сделано через дамп BIOS, а это уже изврат какойто. |  
|   | Вадим К (статус: Академик), 10 сентября 2009, 14:32 [#3]:через дамп биоса - это как раз и правильный способ. я об этом выше как раз писал. Всё в конечном счете сводиться к анализу биоса. А вот как это будем делать - это дело десятое. либо просто сверять "запрос - ответ" с табличкой, либо самостоятельно проанализировать весь биос. Но производитель не обязан записать там точное название материнки открытым текстом - оно может храниться отдельно в флеше или в картинке. 
 Есть функция для названия видеокарты? а знаете как она реализована
  вот тут будете как раз смеяться. Есть два способа. в одном случае видеокарта сама говорит, как ее зовут, второй - когда драйвера устанавливаем, мы неявно прописываем и название... Посмотреть что ли компоненты эти, как там реализовано все это дело...
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gm44 (статус: Посетитель), 10 сентября 2009, 16:55 [#4]:Вадим К, если посмотрите компоненты буду очень благодарен, а то для меня если честно ихняя реализация дампа BIOS слишком сложная оказалась. |  
|   | Вадим К (статус: Академик), 10 сентября 2009, 17:00 [#5]:если я их посмотрю, они от этого не упростятся... Галочка "подтверждения прочтения" - вселенское зло. |  
|   | gm44 (статус: Посетитель), 29 сентября 2009, 15:07 [#6]:С дампом BIOS разобрался, оказывается все не так уж и сложно. В BIOS указаны и модель материнки и все разьемы перечислены. Но засада оказалась в том, что в зависимости от модели BIOSа и версии, адрес с которого начинается описание материнки и устройств разный. |  
|   | Вадим К (статус: Академик), 29 сентября 2009, 16:56 [#7]:значит надо заводить табличку соответствий. Либо поискать в окресностях данного кода какую-нибуть сигнатуру. Может там десять нулевых байт или что то в этом стиле. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |