» Главная
eXcode.ru » Статьи » Delphi/Pascal » Железо
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 21







Работа с BIOS в Delphi




Следующий код, демонстрирует то, как можно получить информацию о BIOS в Win9x.

Результат выполнения события будет добавлен в свойство Lines объекта Memo.


procedure TForm1.Button1Click(Sender: TObject);
begin
with Memo1.Lines do
begin
Add(′BIOS Name: ′+string(Pchar(Ptr($FE061))));
Add(′BIOS CopyRight: ′+string(Pchar(Ptr($FE091))));
Add(′BIOS Date: ′+string(Pchar(Ptr($FFFF5))));
Add(′BIOS Serial: ′+string(Pchar(Ptr($FEC71))));
end;
end;


Следующий код, демонстрирует то, как можно получить информацию о BIOS в Winows NT, 2000, XP.

Данную операцию можно осуществить единственным способом: чтением информации из реестра.


procedure BIOSInfo;
var
Reg: TRegistry;
RegPath: string;
s: TStrings;
begin
Params.Clear;
RegPath := ′HARDWAREDESCRIPTIONSystem′;
reg := tregistry.Create;
reg.rootkey := HKEY_LOCAL_MACHINE;
s := nil;
try
reg.Openkey(RegPath, false);
ShowMessage(′BIOS Date: ′ + Reg.ReadString(′SystemBiosDate′));
s := ReadMultirowKey(Reg, ′SystemBiosVersion′);
ShowMessage(′BIOS Version: ′ + s.Text);
except
end;
Reg.Free;
if Assigned(s) then
s.Free;
end;
К началу статьи





Добавил: LedWormДата публикации: 2005-06-02 21:59:38
Рейтинг статьи:3.00 [Голосов 5]Кол-во просмотров: 9056

Комментарии читателей

Всего комментариев: 1

2006-08-08 16:34:55
Докеби
Процедурку забыли %)

function ReadMultirowKey(reg: TRegistry; Key: string): TStrings;
const bufsize = 100;
var
i: integer;
s1: string;
sl: TStringList;
bin: array[1..bufsize] of char;
begin
try
result := nil;
sl := nil;
sl := TStringList.Create;
if not Assigned(reg) then
raise Exception.Create(′TRegistry object not assigned.′);
FillChar(bin,bufsize,#0);
reg.ReadBinaryData(Key,bin,bufsize);
i := 1;
s1 := ′′;
while i < bufsize do
begin
if ord(bin[i]) >= 32 then
s1 := s1 + bin[i]
else
begin
if Length(s1) > 0 then
begin
sl.Add(s1);
s1 := ′′;
end;
end;
inc(i);
end;
result := sl;
except
sl.Free;
raise;
end;
end;
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой жанр комп. игр вам нравится?
Стратегии
24% (55)
Action
17% (39)
RPG
36% (82)
RTS
1% (3)
Симуляторы
8% (18)
Квесты
7% (15)
Логические
3% (6)
Другой
5% (11)

Проголосовало: 229
Никто и никогда не видел столько порнографии, сколько видел браузер Internet Explorer.
Рейтинг: 1.5/10 (2)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » Delphi/Pascal » Железо