| 
| 
 | Вопрос # 702/ вопрос решён / | 
 |  Здравствуйте, уважаемые эксперты!Как узнать какой servise pack, build ос ; производителя и версию bios 
|  |   Вопрос задал: Аксион (статус: 4-ый класс)Вопрос отправлен: 4 июля 2007, 20:13
 Состояние вопроса: решён, ответов: 3.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, ММО!Смотрим в приложении. Для версии биоса - под нт только. И не всегда выдаёт всё инфу. тестированно работает.
 Приложение:Переключить в обычный режим  uses Registry;function ReadMultirowKey(reg: TRegistry; Key: string): TStrings;const bufsize = 100;vari: integer;s1: string;sl: TStringList;bin: array[1..bufsize] of char;begintry   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;varRegistryv       : 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  Button1Clickend;  
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |