Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128End TypePrivate Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" _ (lpVersionInformation As OSVERSIONINFO) As Long' Returns Version of Windows as a String' NOTE: Win95 returns "4.00", WIn98 returns "4.10"'' It also optionally returns the Windows NT Service Pack' version in the argument, if one is passedFunction WindowsVersionSP(Optional NTServicePack As Integer) As String Dim osInfo As OSVERSIONINFO osInfo.dwOSVersionInfoSize = Len(osInfo) GetVersionEx osInfo WindowsVersionSP = osInfo.dwMajorVersion & "." & Right$( "0" & Format$ _ (osInfo.dwMinorVersion), 2) If osInfo.dwMajorVersion = 4 Then If InStr(osInfo.szCSDVersion, "3") > 0 Then NTServicePack = 3 ElseIf InStr(osInfo.szCSDVersion, "4") > 0 Then NTServicePack = 4 ElseIf InStr(osInfo.szCSDVersion, "5") > 0 Then NTServicePack = 5 ElseIf InStr(osInfo.szCSDVersion, "6") > 0 Then NTServicePack = 6 Else NTServicePack = 0 End If End IfEnd Function