怎样知道我的程序运行在win9x还是win2000 or Nt下?(50分)

  • 主题发起人 主题发起人 fanren945
  • 开始时间 开始时间
F

fanren945

Unregistered / Unconfirmed
GUEST, unregistred user!
我的想法是这样的,当程序启动的时候监测是win9x还是win2000 or Nt系统然后
根据不同的系统运行不同的程序段,希望有一个简单的方法,恳请赐教。
 
;case Win32Platform of
; ; VER_PLATFORM_WIN32S:
; ; ; //In Win 3.x
; ; VER_PLATFORM_WIN32_WINDOWS:
; ; ; //In Win 9x
; ; VER_PLATFORM_WIN32_NT:
; ; ; //In Win NT
; end;
 
用getversion函数吧,是ms的api
Platform High order bit Low order byte (major version number)
Windows NT zero 3 or 4
Windows 95 1 4
Win32s with Windows 3.1 1 3
;

For Windows NT and Win32s, the remaining bits in the high order word specify the build number.
For Windows 95 the remaining bits of the high order word are reserved.
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;
 
谢谢,分有点少(我自己就没多少分,穷人啊:( ; )就凑合吧[:D]
 
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)
是com告诉我的,[:)]
 
谢谢各位,新小丸子你很有意思,例子很好,我现在不用win9x。呵呵[:D]
 
后退
顶部