uses Registry;function TForm1.GetWindowsVersion: string;var VerInfo: TOsversionInfo; PlatformId, VersionNumber: string; Reg: TRegistry;begin VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo); GetVersionEx(VerInfo); // Detect platform Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; case VerInfo.dwPlatformId of VER_PLATFORM_WIN32s: begin // Registry (Huh? What registry?) PlatformId := 'Windows 3.1'; end; VER_PLATFORM_WIN32_WINDOWS: begin // Registry Reg.OpenKey('/SOFTWARE/Microsoft/Windows/CurrentVersion', False); PlatformId := Reg.ReadString('ProductName'); VersionNumber := Reg.ReadString('VersionNumber'); end; VER_PLATFORM_WIN32_NT: begin // Registry Reg.OpenKey('/SOFTWARE/Microsoft/Windows NT/CurrentVersion', False); PlatformId := Reg.ReadString('ProductName'); VersionNumber := Reg.ReadString('CurrentVersion'); end; end; Reg.Free; Result := PlatformId + ' (version ' + VersionNumber + ')';end;