Ce petit programme permet de déterminer la version de Windows en utilisant la fonction API GetVersionExA.
Source / Exemple :
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à.
Conclusion :
Je me permet de mettre ce code source après avoir rechercher dans vbfrance un code similaire et que je n'ai pas trouvé d'exemples (Enfin je ne suis pas sûr).
Ce code est tiré de site suivant :
http://www.tek-tips.com/faqs.cfm?fid=4599
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.