Vista対応したOSバージョンの取得

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;