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;
procedure getsysversion 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;
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;
就这么简单!if (Win32MajorVersion >= 5) and (Win32Platform = VER_PLATFORM_WIN32_NT) then ShowMessage('Windows 2000'); if (Win32MajorVersion <= 5) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then ShowMessage('还用Windows 98!')
可以判断VER_PLATFORM_WIN32_WINDOWS变量的值来看版本 如果VER_PLATFORM_WIN32_WINDOWS值对应版本 值 系统版本 VER_PLATFORM_WIN32s Win32s on Windows 3.1. VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95. VER_PLATFORM_WIN32_NT Win32 on Windows NT.要更具体判断2000,98,95,NT的区别就调用API函数GetVersionEx 具体资料可以查看MSDN。
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;
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;
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;
ShowMessage('Windows 2000');
if (Win32MajorVersion <= 5) and (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) then
ShowMessage('还用Windows 98!')
如果VER_PLATFORM_WIN32_WINDOWS值对应版本
值 系统版本
VER_PLATFORM_WIN32s Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.
VER_PLATFORM_WIN32_NT Win32 on Windows NT.要更具体判断2000,98,95,NT的区别就调用API函数GetVersionEx
具体资料可以查看MSDN。