Title: Detect windows version
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;