|
Вопрос # 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]:
значит надо заводить табличку соответствий. Либо поискать в окресностях данного кода какую-нибуть сигнатуру. Может там десять нулевых байт или что то в этом стиле.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|