ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011
-
19 avril 2009 à 00:06
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011
-
19 avril 2009 à 16:43
Bonjour je souhaite inclure
-vista
-windows 7
-Windows Home server
-Windows Server 2008
a ce code :
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 / WIN 3.1
Private Const VER_PLATFORM_WIN32_WIN = 1 ' WIN 95, WIN 98, ou WIN Me
Private Const VER_PLATFORM_WIN32_NT = 2 ' WIN NT, WIN 2000, WIN XP, ou WIN Server 2003 familiale.
Public Function GetOS() 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 / WIN 3.1
GetOS = "WIN 3.1"
Case VER_PLATFORM_WIN32_WIN ' WIN 95, WIN 98,
Select Case .dwMinorVersion ' ou WIN Me
Case 0
GetOS = "WIN 95"
Case 10
If (OSInfo.dwBuildNumber And &HFFFF&) = 2222 Then
GetOS = "WIN 98SE"
Else
GetOS = "WIN 98"
End If
Case 90
GetOS = "WIN Me"
End Select
Case VER_PLATFORM_WIN32_NT ' WIN NT, WIN 2000, WIN XP,
Select Case .dwMajorVersion ' ou WIN Server 2003 family.
Case 3
GetOS = "WIN NT 3.51"
Case 4
GetOS = "WIN NT 4.0"
Case 5
Select Case .dwMinorVersion
Case 0
GetOS = "WIN 2K"
Case 1
GetOS = "WIN XP"
Case 2
GetOS = "WIN SERVER 2K3"
End Select
End Select
Case Else
GetOS = "Failed"
End Select
End With
End Function
J'ai essayer plusieurs variantes du code afin d'inclure les version windows ci dessus mais celle-ci ne fonctionne pas
Si quelqu'un à l'amabilité de me donner un code fonctionnant avec ces versions de windows ou de modifier celui .
ianis24
Messages postés87Date d'inscriptiondimanche 20 août 2006StatutMembreDernière intervention13 janvier 2011 19 avril 2009 à 16:43
Voici la Réponse a ma question merci quand même :)
Public Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFOEX) As Integer
Public Type OSVERSIONINFOEX
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
wServicePackMajor As Integer
wServicePackMinor As Integer
wSuiteMask As Integer
wProductType As Byte
wReserved As Byte
End Type
Public Function GetVersion() As String
On Error Resume Next
Dim osinfo As OSVERSIONINFOEX
Dim retvalue As Integer
osinfo.dwOSVersionInfoSize = 148
osinfo.szCSDVersion = Space$(128)
retvalue = GetVersionExA(osinfo)
With osinfo
MsgBox .wProductType
Select Case .dwPlatformId
Case 1
Select Case .dwMinorVersion
Case 0
GetVersion = "Windows 95"
Case 10
GetVersion = "Windows 98"
Case 90
GetVersion = "Windows Millennium"
End Select
Case 2
Select Case .dwMajorVersion
Case 3
GetVersion = "Windows NT 3.51"
Case 4
GetVersion = "Windows NT 4.0"
Case 5
Select Case .dwMinorVersion
Case 0
GetVersion = "Windows 2000"
Case 1
GetVersion = "Windows XP"
Case 2
GetVersion = "Windows Server 2003"
End Select
Case 6
If .wProductType = "VER_NT_WORKSTATION" Then
GetVersion = "Windows Vista"
Else
GetVersion = "Windows Server 2008"
End If
End Select
Case Else
GetVersion = "Unknown Windows"
End Select
End With
End Function
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 19 avril 2009 à 09:25
Perso, je dirais que XP toute version, Server 2003 toute version, Server 2008 toute version, Vista et Seven toute version devraient logiquement être toutes identifiés par la constante VER_PLATFORM_WIN32_NT.
Ce sont toutes des plateformes NT, puisque c'est la seule plateforme qui reste chez Microsoft. La plateforme "classique" ayant été arrêtée avec Win98 et Millenium
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #