Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 168

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Как на Delphi можно узнать модель материнской платы? Уже неделю по инету лазаю - нигде не могу найти.

gm44 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: gm44 (статус: Посетитель)
Вопрос отправлен: 10 сентября 2009, 12:04
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 29 сентября 2009, 16:56; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 10 сентября 2009, 12:22 [#1]:

А думаете, что есть готовая функция, которая и ссылку на сайт производителя даст? нет, к сожалению нет.
Можно попробовать выудить немножко информации с этой части реестра HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System

Сразу отвечу на встречный вопрос " а как эверест/аида и подобные программы узнают какая материнская плата?" а очень просто. Они собирают информацию - сколько юсб портов, какая версия биоса, какие функции биоса доступны и так дальше. А потом на основании базы знаний, смотрят, что подходит.
Галочка "подтверждения прочтения" - вселенское зло.
gm44

gm44 (статус: Посетитель), 10 сентября 2009, 14:19 [#2]:

В HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System точно нет. Там я первым делом смотрел. А что касается готовой функции, но есть же функция которая выдает модель видеокарты почемубы и не быть функции для материнки :-) С эверестом тоже не согласе - модель материнки он выводит даже если материнка новее чем версии эвереста. Есть такой старый набор компонентов MITEC_SYSTEM_INFORMATION, он отлично с этим справляется и выдает название материки даже новых моделей, покопался в его исходниках но так и не понял как там это реализовано, складывается впечатление, что там это сделано через дамп BIOS, а это уже изврат какойто.
Вадим К

Вадим К (статус: Академик), 10 сентября 2009, 14:32 [#3]:

через дамп биоса - это как раз и правильный способ. я об этом выше как раз писал. Всё в конечном счете сводиться к анализу биоса. А вот как это будем делать - это дело десятое. либо просто сверять "запрос - ответ" с табличкой, либо самостоятельно проанализировать весь биос. Но производитель не обязан записать там точное название материнки открытым текстом - оно может храниться отдельно в флеше или в картинке.

Есть функция для названия видеокарты? а знаете как она реализована:) вот тут будете как раз смеяться. Есть два способа. в одном случае видеокарта сама говорит, как ее зовут, второй - когда драйвера устанавливаем, мы неявно прописываем и название...
Посмотреть что ли компоненты эти, как там реализовано все это дело...
Галочка "подтверждения прочтения" - вселенское зло.
gm44

gm44 (статус: Посетитель), 10 сентября 2009, 16:55 [#4]:

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

Вадим К (статус: Академик), 10 сентября 2009, 17:00 [#5]:

если я их посмотрю, они от этого не упростятся...
Галочка "подтверждения прочтения" - вселенское зло.
gm44

gm44 (статус: Посетитель), 29 сентября 2009, 15:07 [#6]:

С дампом BIOS разобрался, оказывается все не так уж и сложно. В BIOS указаны и модель материнки и все разьемы перечислены. Но засада оказалась в том, что в зависимости от модели BIOSа и версии, адрес с которого начинается описание материнки и устройств разный.
Вадим К

Вадим К (статус: Академик), 29 сентября 2009, 16:56 [#7]:

значит надо заводить табличку соответствий. Либо поискать в окресностях данного кода какую-нибуть сигнатуру. Может там десять нулевых байт или что то в этом стиле.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:56
Выполнено за 0.02 сек.