Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.005 c
4-19033
B@Nt
2001-12-11 19:23
2002.02.07
Привет APIшники !!! У меня крутой вопрос


1-18889
Vtt
2002-01-23 17:43
2002.02.07
помогите конвертировать имя файла в ДОСовское


14-18985
Дима
2001-12-19 17:31
2002.02.07
Материнка


3-18732
Oleg Fomicheff
2002-01-04 03:33
2002.02.07
Как прикрутить DLL от BDE?


7-19013
SERGX
2001-10-27 18:25
2002.02.07
плиз





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский