IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Savoir quelle version de windows (XP, Seven 32b, Seven 64b)


Sujet :

Contribuez

  1. #1
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut Savoir quelle version de windows (XP, Seven 32b, Seven 64b)
    Bonjour le forum

    Pour ceux qui comme moi on besoin de savoir la version de Windows lors de l’installation en automatique d’applicatifs et notamment si c’est Seven 32bytes ou 64bytes voici une petite fonction qui l’intègre :

    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
    Option Explicit
     'API Windows pour version de Windows
    Private Declare Function GetVersionExA Lib "kernel32" (lpVersionInformation As OSVERSIONINFOEX) As Integer
     
     'API Windows pour chercher si le système est en 64 bytes
    Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
    Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function IsWow64Process Lib "kernel32" (ByVal hProc As Long, bWow64Process As Boolean) As Long
     
    Private Const VER_NT_WORKSTATION = 1 ' Le système d'exploitation est Windows 7, Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
     
    Private Type OSVERSIONINFOEX
        dwOSVersionInfoSize As Long ' La taille de cette structure de données, en octets
        dwMajorVersion As Long ' Le nombre de la version majeure du système d'exploitation
        dwMinorVersion As Long ' Le nombre de la version mineure du système d'exploitation
        dwBuildNumber As Long
        dwPlatformId As Long
        szCSDVersion As String * 128
        wServicePackMajor As Integer
        wServicePackMinor As Integer
        wSuiteMask As Integer
        wProductType As Byte ' Autre information supplémentaires sur le système et notamment  pour VER_NT_WORKSTATION, wProductType = 1
        wReserved As Byte
    End Type
    Public Function VersionWindows() As String
    ' Fonction pour identifier les versions de Windows [Windows XP, Seven 32 et 64 bytes]
                                    Dim Os                      As OSVERSIONINFOEX
     
                                    Dim Handle                  As Long
                                    Dim Est64bit                As Boolean
                                    Dim Bytes                   As String
     
        'Initialise la valeur à false : il n'y a pas  Wow64 process
        Est64bit = False
        VersionWindows = "Système non prévu"
     
        'On vérifie que la dll kernel32.dll contient bien une méthode IsWow64Process
        Handle = GetProcAddress(GetModuleHandle("kernel32"), "IsWow64Process")
     
        'Si la fonction IsWow64Process existe on l'utise pour déterminer si on est en 64 bytes
        If Handle > 0 Then IsWow64Process GetCurrentProcess(), Est64bit
     
        If Est64bit = False Then
            Bytes = "32bytes"
        Else
            Bytes = "64bytes"
        End If
     
        Os.dwOSVersionInfoSize = Len(Os)
        GetVersionExA Os
     
        'On teste sur les versions de Windows
        Select Case CStr(Os.dwMajorVersion & "." & Os.dwMinorVersion)
            Case "5.1"
                VersionWindows = "Windows XP"
            Case "6.1"
                If Os.wProductType = VER_NT_WORKSTATION Then VersionWindows = "Windows 7" & "-" & Bytes
        End Select
    End Function
    Bon courage
    Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
    ---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Merci Jean-Pierre pour cette contribution.

    J'ai déplacé dans Contribuez VBA car ça peut intéresser aussi les autres applis Office.

  3. #3
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    pour Vista il faut ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Case "6.0"
                VersionWindows = "Windows Vista" & "-" & Bytes
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Merci pour la fonction.

    Pour Windows 10, il faut ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Case "10.0"
                VersionWindows = "Windows 10" & "-" & Bytes
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    attention quand meme pour Windows 64 bit avec office 64 bits ca renvoie 0.0
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Réponses: 11
    Dernier message: 27/02/2015, 10h36
  2. DreamSpark : quelle version pour Windows 8.1 ?
    Par troumad dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 28/12/2013, 18h14
  3. Applications managées avec quelle version de Windows
    Par PiPo123 dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 18/07/2010, 15h56
  4. [JRE] Comment savoir quelle version installée ?
    Par ZeKiD dans le forum Applets
    Réponses: 1
    Dernier message: 31/03/2009, 12h14
  5. Comment savoir quelle version d'MSXML IE utilise?
    Par trent94 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 17/07/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo