Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Private 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 passed Function 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 If End Function |