Detect windows version

Posted in System info

Use GetVersionEx procedure with OSVERSIONINFO data structure.

procedure TForm1.Button2Click(Sender: TObject);
var
  Info: TOSVersionInfoA;
begin
  Info.dwOSVersionInfoSize:=sizeof(Info);
  GetVersionEx(Info);
  Label1.Caption:='MajorVersion - '+IntToStr(Info.dwMajorVersion);
  Label2.Caption:='MinorVersion - '+IntToStr(Info.dwMinorVersion);
  Label3.Caption:='BuildNumber - '+IntToStr(Info.dwBuildNumber);
  case Info.dwPlatformID of
    VER_PLATFORM_WIN32s:        Label4.Caption:='Win32 on Windows 3.1';
    VER_PLATFORM_WIN32_WINDOWS: Label4.Caption:='Win32 on Windows 95/98';
    VER_PLATFORM_WIN32_NT:      Label4.Caption:='Win32 on Windows NT';
  end;
end;