在D5中如何通过编译开关区分操作系统是win9x还是win2k?(100分)

7

7030

Unregistered / Unconfirmed
GUEST, unregistred user!
用注册表的方法就不用告诉小生了
 
调用Windows API函数GetVersionEx可以获得Windows的版本信息。
如:
procedure TForm1.Button1Click(Sender: TObject);
var
VersionInfo: TOSVersionInfo;
begin
VersionInfo.dwOSVersionInfoSize := Sizeof(TOSVersionInfo);
GetVersionEx(VersionInfo);
case VersionInfo.dwPlatformID of
VER_PLATFORM_WIN32S:
Do_SomeThing;
VER_PLATFORM_WIN32_WINDOWS:
Do_SomeOtherThing;
VER_PLATFORM_WIN32_NT:
Do_SomeThingelse
;
end;
end;
 
我想通过编译开关来区分,可{$IFDEF WINVER5}OR {$IFDEF WIN2000}好象没用
 
case Win32Platform of
VER_PLATFORM_WIN32s:
ShowMessage('You are in Win32s');
VER_PLATFORM_WIN32_WINDOWS:
ShowMessage('You are in Win9x');
VER_PLATFORM_WIN32_NT:
ShowMessage('You are in WinNT');
end;
 
应该还没有这个开关,不过你可以自己设置吖。就像上面的。
 
只能在运行时判断
就象楼上几位说的。
 
时间过长,斑竹代为结束。
希望你们在Delphibbs开开心心! :>
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
970
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部