function getWinVersion: string;
var
Major,Minor: LongInt;
Info: TOSVersionInfo;
begin
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
Major := Info.dwMajorVersion ;
Minor := Info.dwMinorVersion ;
case major of
4://95/98/ME/NT
begin
if Info.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
begin
case Minor of
0 :Result := 'Windows 95';
10:Result := 'Windows 98';
90:Result := 'Windows Me';
end;
end else
if Info.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
Result := 'Windows NT 4.0';
end;
end;
3://NT 3.51
begin
Result := 'Windows NT 3.51';
end;
5://2000/XP/.NET Server
begin
case Minor of
0: Result := 'Windows 2000';
1: Result := 'Windows XP';
end;
end;
6:// Vista
begin
case Minor of
0: Result := 'Windows Vista';
1: Result := 'Windows Vista以降';
end;
end;
else begin
Result := '不明 Version = '+ IntToStr(GetVersion);
end;
end;
end;
function isWindowsVista:Boolean;
var
Major,Minor: LongInt;
Info: TOSVersionInfo;
begin
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
Major := Info.dwMajorVersion ;
Minor := Info.dwMinorVersion ;
Result := (Major = 6) and (Minor = 0);
end;
function isWindows2000:Boolean;
var
Major,Minor: LongInt;
Info: TOSVersionInfo;
begin
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
Major := Info.dwMajorVersion ;
Minor := Info.dwMinorVersion ;
Result := (Major = 5) and (Minor = 0);
end;
function isWindowsXP:Boolean;
var
Major,Minor: LongInt;
Info: TOSVersionInfo;
begin
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
Major := Info.dwMajorVersion ;
Minor := Info.dwMinorVersion ;
Result := (Major = 5) and (Minor = 1);
end;