Windows version

From Free Pascal wiki
Revision as of 00:57, 26 June 2019 by Trev (talk | contribs) (English translation of German page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Deutsch (de) English (en) русский (ru)

This article is about Windows programming.

The function determines the number of the current Windows version.

uses
  Windows, SysUtils, ...;
  ...
{
Meaning of Windows version numbers:
5.0 => Windows 2000
5.1 => Windows XP
5.2 => Windows XP64 or Windows 2003 Server
6.0 => Windows Vista or Windows 2008 Server
6.1 => Windows 7 or Windows 2008 Server R2
6.2 => Windows 8 or Windows Server 2012
6.3 => Windows 8.1 or Windows Server 2012 RS
}

function funGetWinVer: string;
// Returns the Windows version number as a string
begin
  Result := IntToStr(LOBYTE(LOWORD(GetVersion)));
  Result := Result + '.';
  Result := Result + IntToStr(HIBYTE(LOWORD(GetVersion)));
end;

Alternatively, the SysUtils unit provides the Windows version information in variables:

program EchoWinVersion;
uses sysutils;
begin
  Writeln('Win32 Platform    : ', Win32Platform    );
  Writeln('Win32 Major Version: ', Win32MajorVersion);
  Writeln('Win32 Minor Version: ', Win32MinorVersion);
  Writeln('Win32 Build Number : ', Win32BuildNumber );
  Writeln('Win32 CSD Version  : ', Win32CSDVersion  );
  readln;
end.

The output looks like this for Windows 7 Service Pack 1:

Win32 Platform    : 2
Win32 Major Version: 6
Win32 Minor Version: 1
Win32 Build Number : 7601
Win32 CSD Version  : Service Pack 1