Attribute VB_Name = "OsVersion"
'Obtenir la version de Windows
Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
wSPMajor As Integer
End Type
Global MonOs As OSVERSIONINFO
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Const VER_PLATFORM_WIN32_NT = 2
Public Const VER_PLATFORM_WIN32_WINDOWS = 1
Public Const VER_PLATFORM_WIN32s = 0
'Connaitre la version de Windows
Public Function RecupOS() As String
Dim Os As String
Dim myVer As OSVERSIONINFO
Dim dl&
Os = ""
myVer.dwOSVersionInfoSize = 148
dl& = GetVersionEx&(myVer)
If myVer.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS Then
If myVer.dwMajorVersion = 4 And myVer.dwMinorVersion = 0 Then
Os = "Win95"
ElseIf myVer.dwMajorVersion = 4 And myVer.dwMinorVersion = 10 Then
Os = "Win98"
ElseIf myVer.dwMajorVersion >= 4 And myVer.dwMinorVersion > 10 Then
Os = "WinME"
End If
ElseIf myVer.dwPlatformId = VER_PLATFORM_WIN32_NT Then
If myVer.dwMajorVersion = 3 Or myVer.dwMajorVersion = 4 Then
Os = "WinNT"
ElseIf myVer.dwMajorVersion = 5 And myVer.dwMinorVersion = 0 Then
Os = "Win2k"
ElseIf myVer.dwMajorVersion = 5 And myVer.dwMinorVersion = 1 Then
Os = "WinXP"
End If
End If
RecupOS = Os
End Function