|
Вопрос # 702/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!Как узнать какой servise pack, build ос ; производителя и версию bios
 |
Вопрос задал: Аксион (статус: 4-ый класс)
Вопрос отправлен: 4 июля 2007, 20:13
Состояние вопроса: решён, ответов: 3.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, ММО!
Смотрим в приложении. Для версии биоса - под нт только. И не всегда выдаёт всё инфу. тестированно работает.
Приложение: Переключить в обычный режим-
- uses Registry;
- 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;
-
-
- procedure GetRegInfoWinNT;
- var
- Registryv : TRegistry;
- RegPath : string;
- sl : TStrings;
- begin
- //Params.Clear;
- RegPath := 'HARDWAREDESCRIPTIONSystem';
- registryv:=tregistry.Create;
- registryv.rootkey:=HKEY_LOCAL_MACHINE;
- sl := nil;
- try
- registryv.Openkey(RegPath,false);
- ShowMessage('BIOS Date: '+RegistryV.ReadString('SystemBiosDate'));
- sl := ReadMultirowKey(RegistryV,'SystemBiosVersion');
- ShowMessage('BIOS Version: '+sl.Text);
- except
-
- end;
- Registryv.Free;
- if Assigned(sl) then sl.Free;
- end;
-
-
- Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT,
osWin2000, osXP);
-
- function GetOSVersion : TOSVersion;
- var osVerInfo : TOSVersionInfo;
- majorVer, minorVer : Integer;
- begin
- result := OsUnknown;
- osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
- if GetVersionEx(osVerInfo) then
- begin
- majorVer := osVerInfo.dwMajorVersion;
- minorVer := osVerInfo.dwMinorVersion;
-
-
- case osVerInfo.dwPlatformId of
- VER_PLATFORM_WIN32_NT :
- Case majorVer of
- 4:result := OsWinNT;
- 5:if minorVer=0 then result := OsWin2000
- else
- if minorVer=1 then result := OsXP else result := osUnknownNT;
- else result := osUnknownNT;
- end; {Case majorVer of}
- VER_PLATFORM_WIN32_WINDOWS :
- case majorVer of
- 4: Case minorVer of
- 0:result := OsWin95;
- 10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result :=
OsWin98;
- 90: result := OsWinME;
- else result := osUnknown9x;
- end;{Case minorVer of}
- else result := osUnknown9x;
- end{case majorVer of}
- else result := OsUnknown;
- end;{case osVerInfo.dwPlatformId of}
- end;{if GetVersionEx(osVerInfo) then}
- end;
-
- procedure Button1Click;
- begin
- case GetOSVersion of
- osUnknown: Showmessage('Unknown');
- osWin95: Showmessage('Win95');
- osWin98: Showmessage('Win98');
- osWin98SE: Showmessage('Win98SE');
- osWinME: Showmessage('WinME');
- osWinNT: Showmessage('WinNT');
- osWin2000: Showmessage('Win2000');
- osXP: Showmessage('XP');
- end;
- end;
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Button1Click
- end;
-
-
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 4 июля 2007, 20:34
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Градов Ю.М.
Здравствуйте, ММО!
Я Вам немного нашел информации, скачайте ее в прикреплённом файле. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: Градов Ю.М. (статус: 8-ой класс)
Время отправки: 4 июля 2007, 21:08
Оценка за ответ: 5
|
Ответ #3. Отвечает эксперт: min@y™
Ещё могу посоветовать намыть в Сети пакет модулей Delphi Works. Про BIOS там, к сожалению, ничего нет, а вот про систему - полно. И вообще, там много чего есть полезного.
http://delphiworks.sourceforge.net/index.htm
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 5 июля 2007, 08:28
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 19:23: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|