GetVersion 取到的版本信息是一个整体,要取得某个主版本或者次版本很麻烦,用一个记录就可以简单解决了:
procedure TForm1.Button1Click(Sender: TObject);
Type
TVersion = packed record
WinVer,
WinRev,
DosRev,
DosVer: byte;
end;
var
V:Dword;
begin
V:=GetVersion;
Label1.Caption :=Format('Windows Version:%d.%d,Dos Version:%d.%d',[TVersion(V).WinVer,TVersion(V).WinRev,Tversion(V).DosVer,TVersion(V).DosRev]);
end;
其实在Delphi5中有一些系统常量可以使用(在sysutils单元):
Win32BuildNumber //Build版本号
Win32Platform //系统平台,2=Win32系统
Win32MajorVersion //主版本号
Win32MinorVersion //次版本号
Win32CSDVersion //其他版本信息,例如"Service Pack 2"
---------------------------------------
procedure 2
var ver:integer;//版本号 major:integer;//主版本号 minor:integer;//次版本号
begin
ver:=getversion();//获得版本号
major:=ver and 255;//获得主版本号
minor:=(ver and 255*256)div 256; //获得次版本号
showmessage('系统版本号是:'+inttostr(ver)); //显示版本号
showmessage('系统主版本号是:'+inttostr(major));//显示主版本号
showmessage('系统次版本号是:'+inttostr(minor));//显示次版本号
end;