Bonjour à toutes et à tous,
Je cherche à compléter le code de la FAQ avec les versions de Windows Vista.
Pour Vista, dwMajorVersion retourne 6, ce qui semble assez cohérent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111 Option Compare Database Option Explicit 'Déclaration pour la version Windows Public Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFO) As Integer Public Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type Public Function getVersion() As String '-------------------------------------------------------------------------------------------- ' Projet : Environnement application ' Auteur : Romain Puyfoulhoux - http://access.developpez.com ' Version : 1.0 ' Révision : - ' Commentaires : Permet de connaître la version de Windows utilisée. ' Exemple d'appel : Debug.Print getVersion() ' Lien : http://access.developpez.com/faq/?page=system#versionwin '-------------------------------------------------------------------------------------------- On Error GoTo GestionErreurs Dim osinfo As OSVERSIONINFO Dim retvalue As Integer osinfo.dwOSVersionInfoSize = 148 osinfo.szCSDVersion = Space$(128) retvalue = GetVersionExA(osinfo) With osinfo 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 If .dwMinorVersion = 0 Then getVersion = "Windows 2000" Else getVersion = "Windows XP" End If 'Ici ==> Vista Case 6 getVersion = "Windows Vista" Debug.Print .dwMinorVersion Case Else getVersion = "Problème non résolu." End Select Case Else getVersion = "Problème non résolu." End Select End With Exit Function GestionErreurs: End Function
Maintenant, je ne sais pas s'il est possible de déterminer la version exacte avec dwMinorVersion. Je n'ai pas trouvé grand-chose sur Internet...
Pour Edition Familiale Premium, dwMinorVersion retourne 0 (mais est-ce significatif ??? )
Si parmi vous, quelqu'un a déjà résolu le problème, ou pouvait tester d'autres versions de Vista, ce serait sympa
Merci d'avance...
Domi2
Partager