怎么判断程序运行在98上,还是2000/NT/XP上呢?(最后5分)(5分)

  • 主题发起人 主题发起人 itfly
  • 开始时间 开始时间
I

itfly

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么判断程序运行在98上,还是2000/NT/XP上呢?
 
简单的做法:
if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then //win95/8
showmessage('run in win98/95')
else if Win32Platform = VER_PLATFORM_WIN32_NT then //winnt/2k
showmessage('run in winnt/2k');
 
procedure TRegMainForm.GetOSVerInfo; // 操作系统信息
const
soswin32s='Windows 3.1x running win32s';
soswin95='Windows 95 或 Windows 98';
soswinnt='Windows NT 或 Windows2000';
var
VI:TosversionInfo;
begin
VI.dwosversioninfosize:=sizeof(VI);
GetVersionEx(VI);
with Memo1.lines, VI do
begin
clear;
add(format('主要版本: %d.%d',[dwMajorVersion,dwMinorVersion])+' '+format('编译版本: %d',[dwbuildNumber]));
add(' ');
case dwplatformid of
VER_PLATFORM_WIN32S: add(format('操作系统: %s',[soswin32s]));
VER_PLATFORM_WIN32_WINDOWS: add(format('操作系统: %s',[soswin95]));
VER_PLATFORM_WIN32_NT: add(format('操作系统: %s',[soswinnt]));
end;
end;
end;
 
后退
顶部