unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls;

type
  TForm1 = class(TForm)
    lvwVerInfo: TListView;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

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;
  //..дополнительная информация (например, ServicePack)
  item := lvwVerInfo.Items.Add();
  item.Caption := 'Дополнительные сведения';
  item.SubItems.Insert(0, info.szCSDVersion);
end;

end.
