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

C# Discussion :

Vérifier la version de Windows


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut Vérifier la version de Windows
    Bonjour,

    J'aimerais en C# vérifier la version de Windows.
    J'ai trouvé un truc du genre "PlateformID", mais j'aimerais vérifier si la version est une version Win Server. 2003 ou 2008 peu importe.

    Savez-vous comment je pourrais procéder?

    Merci d'avance.

  2. #2
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Bonjour,

    C'est bien avec la classe OsVersion de Environment que tu dois travailler.
    Vérifier le PlatformID (WindowsNT) et le numéro de version pour affiner.. (http://fr.wikipedia.org/wiki/Windows_NT)

    Bonne continuation.
    ______________________

    DaViDe

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Super merci, je ne trouvais pas le numéro des version
    Bonne journée à toi.

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Juste encore une petite question.
    Comment différencier Windows 7 et Windows Server 2008 R2?
    Le build est pareil, le major et le minor également.

    Une idée?

  5. #5
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Non je ne sais pas t'aider là désolé !
    Ils ont tous deux les même informations de version.. maintenant il serait intéressant de tester sur les deux versions mais je n'ai pas ça sous la main..
    ______________________

    DaViDe

  6. #6
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut.

    Et avec WMI et la classe Win32_OperatingSystem, tu obtiens quoi comme infos ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string osName = string.Empty;
    ManagementObjectSearcher searchResults = new ManagementObjectSearcher("Root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
    foreach (ManagementObject classInstance in searchResults.Get()) {
        osName = (classInstance.Properties[WMI_OS_PROP_NAME].Value == null) ? "Not available" : classInstance.Properties["Name"].Value.ToString();
    }
    Tu arrives à les différencier ?

  7. #7
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Grâce à cette méthode, je peux récupérer le label de la version de l'OS..
    "Microsoft Windows XP Professional"
    ______________________

    DaViDe

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Avec la méthode de eusebe19?
    Oui Davide j'ai tester pour les 2 et le résultat est le même, il faut que je trouve un argument qui les différencie.

    Moi je n'arrive pas à faire fonctionner cette méthode.
    C'est pour du .NET uniquement non?
    "ManagementObjectSearcher" est introuvable et pourtant j'ai ajouter l'using.
    "WMI_OS_PROP_NAME" est également inconnu.

    Moi c'est pour une WinForm, ça doit fonctionner aussi normalement?

    Merci en tout cas.

  9. #9
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Tu peux par exemple échanger la variable que tu ne connais pas par le string "Caption".
    Tu peux itérer dans la liste des PropertyData pour voir toutes les info disponibles.
    ______________________

    DaViDe

  10. #10
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par momo187 Voir le message
    Avec la méthode de eusebe19?
    Oui Davide j'ai tester pour les 2 et le résultat est le même, il faut que je trouve un argument qui les différencie.

    Moi je n'arrive pas à faire fonctionner cette méthode.
    C'est pour du .NET uniquement non?
    "ManagementObjectSearcher" est introuvable et pourtant j'ai ajouter l'using.
    "WMI_OS_PROP_NAME" est également inconnu.

    Moi c'est pour une WinForm, ça doit fonctionner aussi normalement?

    Merci en tout cas.
    Tu dois également rajouter l'assembly System.Management !
    ______________________

    DaViDe

  11. #11
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Citation Envoyé par momo187 Voir le message
    "WMI_OS_PROP_NAME" est également inconnu.
    Oui, ça c'est parce que j'ai copié/collé du code d'un de mes projets . Remplace le par "Name" .

    Et comme l'a dit Davide, ajoute une référence à System.Management.

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Oui j'ai ajouté le "using System.Management;"
    Mais il ne me trouve tout de même pas le "ManagementObjectSearcher"

    Quand tu dis remplace le par le "name" tu entends quoi? Par le nom du projet?

  13. #13
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Non ce que eusebe19 te dit c'est de remplacer WMI_OS_PROP_NAME par le string "Name".
    Sinon est-ce que tu as bien rajouté l'assembly System.Management à ton projet ??
    ______________________

    DaViDe

  14. #14
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Citation Envoyé par momo187 Voir le message
    Oui j'ai ajouté le "using System.Management;"
    Mais il ne me trouve tout de même pas le "ManagementObjectSearcher"
    Il faut que tu ajoutes la référence à ton projet (le using ne suffit pas) : clic droit sur ton projet, "Add Reference", onglet ".NET", tu sélectionnes "System.Management" .
    Citation Envoyé par momo187 Voir le message
    Quand tu dis remplace le par le "name" tu entends quoi? Par le nom du projet?
    Non, dans le code que je t'ai fourni, tu remplaces WMI_OS_PROP_NAME par "Name" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string osName = string.Empty;
    ManagementObjectSearcher searchResults = new ManagementObjectSearcher("Root\\CIMV2", "SELECT * FROM Win32_OperatingSystem");
    foreach (ManagementObject classInstance in searchResults.Get()) {
        osName = (classInstance.Properties["Name"].Value == null) ? "Not available" : classInstance.Properties["Name"].Value.ToString();
    }
    EDIT - grillé par Davide

  15. #15
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Vous êtes des chefs les gars!
    J'ai testé ceci sur un projet de test, maintenant je vais adapter cela à mon projet en éspérant que je n'ai pas de problèmes.

    Merci beaucoup.

  16. #16
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Une dernière chose,

    C'est possible d'obtenir uniquement le nom de l'OS?
    En faisant comme vous me l'avez indiqué j'obtient dans ma variable :

    "Microsoft Windows 7 Professionnel |C:\\Windows|\\Device\\Harddisk0\\Partition1"

    C'est possible de garder uniquement le début? sans le :
    "|C:\\Windows|\\Device\\Harddisk0\\Partition1"

    Merci encore.

  17. #17
    Membre régulier Avatar de Davide
    Profil pro
    Inscrit en
    Août 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Oui en utilisant le string "Caption" à la place de "Name".
    ______________________

    DaViDe

  18. #18
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 42
    Points : 15
    Points
    15
    Par défaut
    Extra.
    Merci infiniment et bonne journée à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connaitre la version de windows
    Par coach dans le forum Windows
    Réponses: 1
    Dernier message: 21/11/2005, 19h12
  2. Version de Windows pour Delphi 8
    Par alainvh dans le forum EDI
    Réponses: 8
    Dernier message: 22/06/2004, 11h37
  3. Connaître la version de windows?
    Par Age Piranha dans le forum Windows
    Réponses: 3
    Dernier message: 12/04/2004, 21h09
  4. Version de Windows dans Visual Studio !!!
    Par Jasmine dans le forum MFC
    Réponses: 3
    Dernier message: 18/03/2004, 17h40
  5. Appli devant tourner sous différentes versions de Windows?
    Par AnneOlga dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/11/2003, 10h48

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