Форум: "Система";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
ВнизПроизводитель, дата и версия BIOS Найти похожие ветки
← →
SAlex (2001-08-01 16:11) [0]Можно ли определить производителя BIOS, дату и версию? Если можно то как это сделать в Window 98 и 2000?
← →
Rabinovich (2001-08-01 21:46) [1]Бери из реестра:
LM\Enum\Root\*PNP0C01\0000\
← →
SAlex (2001-08-02 10:10) [2]Это одинаково для Win 2000 и для Win9x или для одной из них? Просто у меня есть пример кода где в Win 2000 информация берется из реестра, а для Win 98 из памяти, т. к. в Win 2000 нет прямого доступа к памяти, а в Win 98 информация в реестре не хранится /это касается даты BIOS/.
← →
Anatoly Podgoretsky (2001-08-02 12:06) [3]Хранится
BiosDate = 10/13/00
^^^^^^^^
BiosVersion = Award Modular BIOS v4.51PG
BiosName = Award
← →
Некто (2001-08-03 20:53) [4]> Anatoly Podgoretsky.
Ради интереса посмотрел в свой реестр и прочитал
BiosDate = 07/21/97
BiosVersion = Award Modular BIOS v4.51PG
BiosName = Award
В первую секунду бросмло в жар! Почему у купленной 2 недели назад ABIT KT7A такой старый BIOS. Потом дошло, что эти данные от прежней мамки. А от новой - никаких данных нет. Я это к тому, что предложенный способ не всегда годится.
← →
Anatoly Podgoretsky (2001-08-04 11:32) [5]Да никакой метод не годится, так как данная информация не стандиртизирована, поэтому нет и методов определения и даже то, что она не обязана присутствовать.
Ты наверно просто сменил плату не изменяя данных в реестре, надо было с помощью менеджера стереть все записи относящиеся в к Системные устройства, кстати если проведешь эту операцию (а ее проводить надо) то можешь быть удивлен, если система найдет неизвестные устройства и у тебя не окажется драйверов. Дополнительно надо стирать информацию о дисковых контроллерах и может быть еще что нибудь.
← →
Polevi (2001-08-04 18:00) [6]Лучше всего снести все устройства (вплоть до системного динамика :-)))
← →
Некто (2001-08-05 01:45) [7]Не понял Polevi, шутка или всерьез.
2 Anatoly.
Я сменил не только плату. Фактически я поставил свой винт на новый системный блок( не считая флопи). Насчет стирания записей -
1. - ничего не стирал
2. - все новые устройсва найдены и перечислены в "Системе".
P.S. На первый взгляд, разумею, что Windows пишет эти данные в реестр при СВОЕЙ установке. Но для "Control Panel" пользуется не ими, а другими способами.
← →
Anatoly Podgoretsky (2001-08-05 02:22) [8]Правильно, так что :-))) не вполне уместно, человек сменил плату, но система осталась в старом состоянии
← →
Некто (2001-08-05 03:51) [9]? Правильно?
Я ведь писал последнее сообщение, имея в виду операцию стирания записей "(а ее проводить надо) ". Так вот - для чего надо - чтобы в будующем программа SAlex смогла все правильно определить, или есть более существенные основания? Ведь в старом состоянии остался только реестр, точнее некоторые записи в нем, а сама система обновилась полностью, со всеми деталями.
← →
Anatoly Podgoretsky (2001-08-05 12:49) [10]Смотри сообщение "Anatoly Podgoretsky (04.08.01 11:32)"
первый абзац, это означает что нет полностью работающих методов получения данной информации. Более менее можно надеяться на только на дату.
Насчет методов - достоверность подразумевает, что информация считывается не с реестра, а напрямую из BIOS, значит остро стоит вопрос чтения чужой памяти, без драйверов kernel mode - эта часть также не имеет пполного решения. Ну и после того как решили эту задачу становится следующая уже не разрешимая задача, а где и в каком виде зранится эта информация, опять смотри первый абзац от 4.08.01
После всего это можно задаться следующим вопросом, а нафига вообще нужна эта информация, какую практическую пользу она может принести.
Вот моя точка зрения и видение данной проблемы. Ну я дума. на последний вопрос "а зачем ему это нужно" может ответить только сам SAlex
← →
Dreamlord (2001-08-07 10:29) [11]informaciq standartizirovana. v reestre ona v hkey_local_machine\enum\root\pnp0c01. eto vazit dlq win95-2000. q i tam ee ishtu kazdii raz i otkrivaiu :)
← →
Anatoly Podgoretsky (2001-08-07 11:16) [12]Ты несешь ответственность за свои слова насчет стандартизации.
Приведи стандарт, ну или хотя на скольких БИОС от разных производителей ты провел испытание в подтверждение своих слов.
Причем тут реестр, речь про БИОС, реестр вторичное.
← →
Alexander (2001-08-07 11:49) [13]Если посмотреть в реестре ключ
HKLM\Enum\Root\*PNP0C01\0000\
то там будет инфа о первой системе, а если с момента установки
Windows что-то изменилось, то должны появиться ключи
HKLM\Enum\Root\*PNP0C01\0001\ <- вторая материнка
HKLM\Enum\Root\*PNP0C01\0002\ <- третья материнка
etc
следовательно, тот ключ, у которого последнее число больше, и должен
содержать необходимую инфу.
Конечно, информацию о предыдущих системах можно удалить,
но никакой пользы это не принесет (впрочем, и вреда тоже),
хотя тогда неизвестно, куда Windows запишет инфу о новой ситеме:
в HKLM\Enum\Root\*PNP0C01\0000\
или
в HKLM\Enum\Root\*PNP0C01\XXXX\
и программа SAlex"а может выдать неправильные сведения
P.S. Привет Новоуральску!
← →
Некто (2001-08-08 02:16) [14]Всего наилучшего Новоуральску!
Но, 2 Alexander:
прочитай мое сообщение от (03.08.01 20:53).
Никаких \0001\ или \000х\ у меня в реестре НЕТ. Есть только 0000.
При этом ВСЕ работает НОРМАЛЬНО!
"Система" все пишет, в соответсвии с новым железом, Sandra, в добавок, все это тестирует и выдает рекомендации.
Итог: соглашаюсь с Анатолием Подгоретским( лень переключаться на английский) - в данном случае, реестр может нагло врать, но это не является препятствием для нормальной работы компа. Эти сведения в реестре, только для справки в проданном вам компьютере. И все. Остальное в самом BIOS"e.
← →
Anatoly Podgoretsky (2001-08-08 13:12) [15]Зачем английский, нормально и на русском, только одна ошибка буква TS = Ц.
Кстати я для этого использую cut&paste вместо ручного ввода :-)
А огрнаичения на БИОС я описал, но когда знаешь, то вооружен.
Alexander кстати правильно написаль насчет дополнительных веток.
← →
ao1973 (2001-10-19 10:56) [16]Народ! А как без реестра обойтись ???????
← →
Ray (2001-10-19 11:35) [17]Я делал через голову но зато работает везде. Написал на ASM маленькую прогу которая сохраняет БИОС в обычный файл. Полученный .com файл приаттачил к программе в виде ресурса, потом уже под виндами создаеш файл из ресурса, запускаеш его, потом читаеш полученный image ьбиоса в TMemoryStream и все, дальше все просто. Система проверена и работает, можете убедиться, у меня на сайте http://rayadams.r2.ru лежит прога BIOS Info. (только там я на паскале писал снятие БИОСа, это в другой проге уже на АСМ)
← →
uip88 (2001-10-30 12:49) [18]function WOWGetVDMPointerFix(vp,dwBytes:DWORD; ProtectedMode:BOOL):pointer;
stdcall; external "WOW32.DLL";
procedure WOWGetVDMPointerUnfix(vp:pointer); stdcall; external "WOW32.DLL";
Type
TBIOSVer = array[0..$32] of byte;
function GetBIOSInfo : string;
Var
BIOSVer : ^TBIOSVer;
VerStr : string;
i : integer;
begin
BIOSVer := WOWGetVDMPointerFix($FE650621, 0, Bool(0));
i:=0;
while Chr(BIOSVer[i]) <> #0 do
begin
VerStr := VerStr + Chr(BIOSVer[i]); // Версия - в VerStr
inc(i);
end;
WOWGetVDMPointerUnfix(BIOSVer);
Result:=VerStr;
// Result:=Form1.MSystemInfo1.Workstation.BIOSExtendedInfo;
Inf("GetBIOSInfo");
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c