[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
>
> Hello !
>
> Does anyone know, how can I detect the Windows System Version information?
>
> Thanks!
Hello!
If you want to know in what operating system your program is running and its
version (eg. Windows 95, Windows NT 3.51, Windows NT 4.0), try the code
below which I adapted from MSDN to work with Delphi.
unit winversion;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormShow(Sender: TObject);
var Version : DWORD;
Build : WORD;
MajorVersion, MinorVersion : BYTE;
begin
Version := GetVersion();
{ Get major and minor version numbers of Windows }
MajorVersion := LOBYTE(LOWORD(Version));
MinorVersion := HIBYTE(LOWORD(Version));
{ Get build numbers for Windows NT or Win32s }
if (Version and $80000000) = 0 then begin { Windows NT }
Memo1.Lines.Add('Windows NT');
Build := HIWORD(Version);
end
else if (MajorVersion < 4) then begin { Win32s }
Memo1.Lines.Add('Win32s');
Build := HIWORD(Version) and $7FFF;
end
else begin
Memo1.Lines.Add('Windows 95'); { Windows 95 -- No build numbers provided }
Build := 0;
end;
Memo1.Lines.Add('Version '+IntToStr(MajorVersion)+'.'+IntToStr(MinorVersion));
Memo1.Lines.Add('Build '+IntToStr(Build));
end;
end.
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]