- Placez le code suivant dans un module :
-
- Option Explicit
-
- Private Declare Function GetVersionExA Lib "kernel32" _
- (lpVersionInformation As OSVERSIONINFO) As Integer
-
- Private Type OSVERSIONINFO
- dwOSVersionInfoSize As Long
- dwMajorVersion As Long
- dwMinorVersion As Long
- dwBuildNumber As Long
- dwPlatformId As Long
- szCSDVersion As String * 128
- wServicePackMajor As Integer ' Version Majeur du Service Pack
- wServicePackMinor As Integer ' Version Mineur du Service Pack
- End Type
-
- Private Const VER_PLATFORM_WIN32s = 0 ' Win32s / Windows 3.1
- Private Const VER_PLATFORM_WIN32_WINDOWS = 1 ' Windows 95, Windows 98, ou Windows Me
- Private Const VER_PLATFORM_WIN32_NT = 2 ' Windows NT, Windows 2000, Windows XP, ou Windows Server 2003 familiale.
-
- ' Version Version
- ' Système Platforme Majeur Mineur Build
- ' Windows 95 1 4 0
- ' Windows 98 1 4 10 1998
- ' Windows 98SE 1 4 10 2222
- ' Windows Me 1 4 90 3000
- ' NT 3.51 2 3 51
- ' NT 2 4 0 1381
- ' 2000 2 5 0
- ' XP 2 5 1 2600
- ' Server 2003 2 5 2
-
- Public Function VBWinVer() As String
- Dim OSInfo As OSVERSIONINFO
- Dim retvalue As Integer
-
- OSInfo.dwOSVersionInfoSize = 156
- OSInfo.szCSDVersion = Space$(128)
- retvalue = GetVersionExA(OSInfo)
- With OSInfo
- Select Case .dwPlatformId
- Case VER_PLATFORM_WIN32s ' Win32s / Windows 3.1
- VBWinVer = "Windows 3.1"
-
- Case VER_PLATFORM_WIN32_WINDOWS ' Windows 95, Windows 98,
- Select Case .dwMinorVersion ' ou Windows Me
- Case 0
- VBWinVer = "Windows 95"
- Case 10
- If (OSInfo.dwBuildNumber And &HFFFF&) = 2222 Then
- VBWinVer = "Windows 98SE"
- Else
- VBWinVer = "Windows 98"
- End If
- Case 90
- VBWinVer = "Windows Me"
- End Select
-
- Case VER_PLATFORM_WIN32_NT ' Windows NT, Windows 2000, Windows XP,
- Select Case .dwMajorVersion ' ou Windows Server 2003 family.
- Case 3
- VBWinVer = "Windows NT 3.51"
- Case 4
- VBWinVer = "Windows NT 4.0"
- Case 5
- Select Case .dwMinorVersion
- Case 0
- VBWinVer = "Windows 2000"
- Case 1
- VBWinVer = "Windows XP"
- Case 2
- VBWinVer = "Windows Server 2003"
- End Select
- End Select
-
- Case Else
- VBWinVer = "Failed"
- End Select
- If VBWinVer <> "Failed" And .wServicePackMajor <> 0 Then
- 'Ajouter la version du Service Pack Installé
- VBWinVer = VBWinVer & " Service Pack " & Trim(Str(.wServicePackMajor)) & "." & Trim(Str(.wServicePackMinor))
- End If
- End With
- End Function
-
-
-
- '**************************************************************
-
- Ensuite, placez le code suivant dans l'évenement Click d'un bouton dans un Form :
-
- MsgBox VBWinVer
-
- Et voilà.
-
Placez le code suivant dans un module :
Option Explicit
Private Declare Function GetVersionExA Lib "kernel32" _
(lpVersionInformation As OSVERSIONINFO) As Integer
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
wServicePackMajor As Integer ' Version Majeur du Service Pack
wServicePackMinor As Integer ' Version Mineur du Service Pack
End Type
Private Const VER_PLATFORM_WIN32s = 0 ' Win32s / Windows 3.1
Private Const VER_PLATFORM_WIN32_WINDOWS = 1 ' Windows 95, Windows 98, ou Windows Me
Private Const VER_PLATFORM_WIN32_NT = 2 ' Windows NT, Windows 2000, Windows XP, ou Windows Server 2003 familiale.
' Version Version
' Système Platforme Majeur Mineur Build
' Windows 95 1 4 0
' Windows 98 1 4 10 1998
' Windows 98SE 1 4 10 2222
' Windows Me 1 4 90 3000
' NT 3.51 2 3 51
' NT 2 4 0 1381
' 2000 2 5 0
' XP 2 5 1 2600
' Server 2003 2 5 2
Public Function VBWinVer() As String
Dim OSInfo As OSVERSIONINFO
Dim retvalue As Integer
OSInfo.dwOSVersionInfoSize = 156
OSInfo.szCSDVersion = Space$(128)
retvalue = GetVersionExA(OSInfo)
With OSInfo
Select Case .dwPlatformId
Case VER_PLATFORM_WIN32s ' Win32s / Windows 3.1
VBWinVer = "Windows 3.1"
Case VER_PLATFORM_WIN32_WINDOWS ' Windows 95, Windows 98,
Select Case .dwMinorVersion ' ou Windows Me
Case 0
VBWinVer = "Windows 95"
Case 10
If (OSInfo.dwBuildNumber And &HFFFF&) = 2222 Then
VBWinVer = "Windows 98SE"
Else
VBWinVer = "Windows 98"
End If
Case 90
VBWinVer = "Windows Me"
End Select
Case VER_PLATFORM_WIN32_NT ' Windows NT, Windows 2000, Windows XP,
Select Case .dwMajorVersion ' ou Windows Server 2003 family.
Case 3
VBWinVer = "Windows NT 3.51"
Case 4
VBWinVer = "Windows NT 4.0"
Case 5
Select Case .dwMinorVersion
Case 0
VBWinVer = "Windows 2000"
Case 1
VBWinVer = "Windows XP"
Case 2
VBWinVer = "Windows Server 2003"
End Select
End Select
Case Else
VBWinVer = "Failed"
End Select
If VBWinVer <> "Failed" And .wServicePackMajor <> 0 Then
'Ajouter la version du Service Pack Installé
VBWinVer = VBWinVer & " Service Pack " & Trim(Str(.wServicePackMajor)) & "." & Trim(Str(.wServicePackMinor))
End If
End With
End Function
'**************************************************************
Ensuite, placez le code suivant dans l'évenement Click d'un bouton dans un Form :
MsgBox VBWinVer
Et voilà.