Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1097047755
RDen
2004-10-06 11:29
2004.10.24
Иероглифы при копировании через буфер


6-1092750108
NLO
2004-08-17 17:41
2004.10.24
Зкачка


3-1095938787
UnDISCOvery
2004-09-23 15:26
2004.10.24
Многопоточный доступ к БД Access через ADO. Как ???


3-1096023258
Term
2004-09-24 14:54
2004.10.24
ADO использование TRDSConnection


6-1092379795
Дмитрий Ботвин
2004-08-13 10:49
2004.10.24
Список служб на удаленном компьютере




   Наверх