All pastes #966461 Raw Edit

Osversion

public text v1 · immutable
·published 2008-04-01 19:21 UTC
rendered paste body
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