如何判断程序是在98,Me,Nt ,2000,下运行?(50分)

  • 主题发起人 主题发起人 KervenLee
  • 开始时间 开始时间
判断一下操作系统版本不就知道了.
 
以前有很多答案:如
function GetWindowsVersion: string;
var
; // windows api structure
; VersionInfo: TOSVersionInfo;
begin
// get size of the structure
VersionInfo.dwOSVersionInfoSize := SizeOf(VersionInfo);
// populate the struct using api call
GetVersionEx(VersionInfo);
// platformid gets the core platform
// major and minor versions also included.
with VersionInfo do
begin
; case dwPlatformid of
; ; ;0 : begin
; ; ; ; ; ;result := 'Windows 3.11';
; ; ; ; ;end; ; // end 0

; ; ;1 : begin
; ; ; ; ; case dwMinorVersion of
; ; ; ; ; ;0 : result := 'Windows 95';
; ; ; ; ; ;10: begin
; ; ; ; ; ; ; ; if ( szCSDVersion[ 1 ] = 'A' ) then
; ; ; ; ; ; ; ; ; ;Result :='Windows 98 SE'
; ; ; ; ; ; ; ; else
; ; ; ; ; ; ; ; ; ;Result := 'Windows 98';
; ; ; ; ; ; ; ;end; // end 10
; ; ; ; ; ;90 : result := 'Windows Millenium';
; ; ; ; ; else
; ; ; ; ; ;result := 'Unknown Version';
; ; ; ; ; end; // end case
; ; ; ; end; // end 1

; ; ;2 : begin
; ; ; ; ; case dwMajorVersion of
; ; ; ; ; ;3 : result := 'Windows NT ' +
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; IntToStr(dwMajorVersion) + '.' +
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; IntToStr(dwMinorVersion);
; ; ; ; ; ;4 : result := 'Windows NT ' +
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; IntToStr(dwMajorVersion) + '.' +
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; IntToStr(dwMinorVersion);
; ; ; ; ; ;5 : begin
; ; ; ; ; ; ; ; ;case dwMinorVersion of
; ; ; ; ; ; ; ; ; ; ;0 : result := 'Windows 2000';
; ; ; ; ; ; ; ; ; ; ;1 : result := 'Windows Whistler';
; ; ; ; ; ; ; ; ;end; ;// end case
; ; ; ; ; ; ; ;end; // end 5
; ; ; ; ; ; else
; ; ; ; ; ; ; ;result := 'Unknown Version';
; ; ; ; ; end; // end case
; ; ; ; ; // service packs apply to the NT/2000 platform
; ; ; ; ; if szCSDVersion <> '' then
; ; ; ; ; ; ;result := result + ' Service pack: ' + szCSDVersion;
; ; ; ; end; // end 2
; ; ;else
; ; ; ; result := 'Unknown Platform';
; end; // end case
; // add build info.
; result := result + ', Build: ' +
; ; ; ; ; ; IntToStr(Loword(dwBuildNumber)) ;
end; // end version info
end; // GetWindowsVersion
 
MSDN 2000
GetVersion有详细的帮助和源码
 
如下:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=328545
 
如果用Delphi 6.0的话直接可以取得
访问
Win32MajorVersion
Win32MinorVersion
Win32CSDVersion
等变量
 
zw84611 的方法较好
 
后退
顶部