1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer
Private Const VER_PLATFORM_WIN32_WINDOWS = 1
Private Const VER_PLATFORM_WIN32_NT = 2
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Public Function VersionWindows(ByRef sp As String) As String
Dim os As OSVERSIONINFO
os.dwOSVersionInfoSize = Len(os)
GetVersionExA os
sp = ""
With os
Select Case .dwPlatformId
Case VER_PLATFORM_WIN32_WINDOWS
Select Case .dwMinorVersion
Case 0
VersionWindows = "95"
Case 10
VersionWindows = "98"
Case 90
VersionWindows = "Me"
End Select
Case VER_PLATFORM_WIN32_NT
Select Case .dwMajorVersion
Case 3
VersionWindows = "NT 3.51"
Case 4
VersionWindows = "NT 4.0"
Case 5
If .dwMinorVersion = 0 Then
VersionWindows = "2000"
Else
VersionWindows = "XP"
End If
Case 6
If .dwMinorVersion = 0 Then
VersionWindows = "VISTA"
elseIf .dwMinorVersion = 1 Then
VersionWindows = "SEVEN"
elseIf .dwMinorVersion = 2 Then
VersionWindows = "8"
If .dwMinorVersion = 3 Then
VersionWindows = "8.1"
End If
End Select
End Select
If InStr(.szCSDVersion, Chr(0)) > 0 Then
sp = Left(.szCSDVersion, InStr(.szCSDVersion, Chr(0)) - 1)
End If
End With
End Function |
Partager