...

Листинг 7.1.

Получение и отображение сведений о Windows

procedure TForm1.FormCreate(Sender: TObject);

var

info: OSVERSIONINFO;

item: TListItem;

begin

//Получаем информацию о версии ОС

info.dwOSVersionInfoSize := SizeOf(info);

GetVersionEx(info);

//Заполняем список информацией о ОС

//..версия ОС

item := lvwVerInfo.Items.Add();

item.Caption := \'Версия системы\

item.SubItems.Insert(0, IntToStr(Integer(info.dwMajorVersion)) +

\'.\' + IntToStr(Integer(info.dwMinorVersion)));

//..номер сборки

item := lvwVerInfo.Items.Add();

item.Caption := \'Сборка\

item.SubItems.Insert(0, IntToStr(Integer(info.dwBuildNumber)));

//..платформа

item := lvwVerInfo.Items.Add();

item.Caption := \'Платформа\

case info.dwPlatformId of

VER_PLATFORM_WIN32s:

//Эмуляция Win32 или Win16

item.SubItems.Insert(0, \'Win16\');

VER_PLATFORM_WIN32_WINDOWS:

//"Классическая" Win32: 95, 98 или Me

item.SubItems.Insert(0, \'Win32\');

VER_PLATFORM_WIN32_NT:

//Ядро NT

item.SubItems.Insert(0, \'WinNT\');

end;

//..дополнительная информация (например, пакет обновлений)

item := lvwVerInfo.Items.Add();

item.Caption := \'Дополнительные сведения\

item.SubItems.Insert(0, info.szCSDVersion);

end;

Возможный результат работы программы (для Windows ХР SP1) приводится на рис. 7.1.

Рис. 7.1. Информация о версии Windows

Теперь снова обратимся к функции GetVersionEx, точнее говоря, к структуре OSVERSIONINFOEX, которая может также передаваться в качестве параметра в функцию. К сожалению, в библиотеке Delphi 7 эта структура не объявлена. Но это можно сделать самостоятельно:

Загрузка...