Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Данные системы   Найти похожие ветки 

 
gs   (2004-09-17 12:04) [0]

Не трудный, но специфический вопрос, как получить параметры системы такие, как например данные Bios.


 
Игорь Шевченко ©   (2004-09-17 12:29) [1]

Что-то можно из реестра получить.


 
gs   (2004-09-17 12:31) [2]

Но дату Bios же не получиш или я ошибаюсь. Если да, то как её получить?


 
Игорь Шевченко ©   (2004-09-17 13:26) [3]


> Но дату Bios же не получиш или я ошибаюсь


мягкий знак после шипящих ставят обычно в глаголах.

HKLM\Hardware\Description\System\SystemBiosDate


 
Unknown Mystic ©   (2004-09-17 14:00) [4]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621412&n=15

Мой вариант:

const
 BIOSDatePtr = $0FFFF5;
 SystemKey = "HARDWARE\DESCRIPTION\System";
 BiosDateParam = "SystemBiosDate";
var
 p: Pointer;
 sBiosDate: string[10];
 Key: HKey;

...

 if IsWinVer([wvNT, wvXP, wvY2K]) then
 begin
   // Считываем дату биоса
   Key := RegKeyOpenRead(HKEY_LOCAL_MACHINE, SystemKey);
   sBiosDate := RegKeyGetStr(Key, BiosDateParam);
   RegKeyClose(Key);
 end else
   try
     // Считываем дату биоса
     sBiosDate[0] := #8;
     p := Pointer(BIOSDatePtr);
     Move(p^, sBiosDate[1], 8);
   except
     FillChar(sBiosDate[1], 8, "9");
   end;

...


Кстати в примере из FAQ читать "VideoDate" из памяти у меня не получилось. По крайней мере у меня на компьютере константу VideoDatePtr пришлось менять на что-то другое.


 
Unknown Mystic ©   (2004-09-17 14:01) [5]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621412&n=15

Мой вариант:

const
 BIOSDatePtr = $0FFFF5;
 SystemKey = "HARDWARE\DESCRIPTION\System";
 BiosDateParam = "SystemBiosDate";
var
 p: Pointer;
 sBiosDate: string[10];
 Key: HKey;

...

 if IsWinVer([wvNT, wvXP, wvY2K]) then
 begin
   // Считываем дату биоса
   Key := RegKeyOpenRead(HKEY_LOCAL_MACHINE, SystemKey);
   sBiosDate := RegKeyGetStr(Key, BiosDateParam);
   RegKeyClose(Key);
 end else
   try
     // Считываем дату биоса
     sBiosDate[0] := #8;
     p := Pointer(BIOSDatePtr);
     Move(p^, sBiosDate[1], 8);
   except
     FillChar(sBiosDate[1], 8, "9");
   end;

...


Кстати в примере из FAQ читать "VideoDate" из памяти у меня не получилось. По крайней мере у меня на компьютере константу VideoDatePtr пришлось менять на что-то другое.


 
Unknown Mystic ©   (2004-09-17 14:04) [6]

Прошу прощения - сервер сглючил :(

Под 98 виндой, у меня по крайней мере, ключа HKLM\Hardware\Description\System\SystemBiosDate в реестре нету.


 
gs   (2004-09-20 09:57) [7]

Спасибо ВСЕМ !



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-1097044310
clampo
2004-10-06 10:31
2004.10.24
Текст на лабеле


3-1096274444
Bless
2004-09-27 12:40
2004.10.24
Как восстановить удаленную таблицу!


9-1087975484
lifo
2004-06-23 11:24
2004.10.24
X files


1-1097582555
}|{yk
2004-10-12 16:02
2004.10.24
Как правильно отправить сообщение создаваемому в run-time окну?


3-1096265024
MakNik
2004-09-27 10:03
2004.10.24
Аналог ф-ции NewID()