Главная страница
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.029 c
3-1096212833
001
2004-09-26 19:33
2004.10.24
TADOTable.Active: "Invalid variant type conversions."


3-1096445145
Павел Боровик
2004-09-29 12:05
2004.10.24
Длина поля в DBF


14-1096660435
Ломброзо
2004-10-01 23:53
2004.10.24
Потоки?


3-1096034853
Koala
2004-09-24 18:07
2004.10.24
Вопрос по IBExpert


14-1096608381
Rule
2004-10-01 09:26
2004.10.24
Никто не подскажет где пожно скачать Programmers Guide для IB