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 :

Obtenir le cpuid


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut Obtenir le cpuid
    Bonjour,

    je cherche à obtenir le cpuid (ou processorId) mais tous les exemples que j'ai trouvé utilise WMI et ne sont pas très fonctionnel sur 2 pc différent j’obtiens le même cpuId avec cette méthode.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Est-ce que tu peux montrer le code que tu as utilisé ? Peut-être que tu ne récupères pas la bonne info.

    Ça doit ressembler à quelque chose du genre :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            ManagementClass mc = new ManagementClass("win32_processor");
            ManagementObjectCollection moc = mc.GetInstances();
            string strProcId = string.Empty;
            string strTypeProc = string.Empty;
            foreach (ManagementObject mo in moc) {
              // On récupère uniquement le premier ID du CPU
              strProcId = mo.Properties["processorID"].Value.ToString();
              break;
            }

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                ManagementObjectCollection mbsList = null;
                ManagementObjectSearcher mbs = new ManagementObjectSearcher("Select * From Win32_processor");
                mbsList = mbs.Get();
                string id = "";
                foreach (ManagementObject mo in mbsList)
                {
                    id = mo["ProcessorID"].ToString();
                }
    ce code me retourne le même id sur 2 pc différent alors que le cpuid devrai être unique je pense

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Il n'est pas garanti à 100% que le processorId soit unique. Si le processeur n'implémente pas la commande CPUID, tu te retrouveras surement avec le même résultat...

    Si tu veux de l'unicité sur tes machines, combines plusieurs informations (cpuid, id de l'OS, etc...)

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    ah d'accord merci pour l'info, y'a t'il un élément sur la machine permettant à coup sur de chopper son id, je veux reposer mon système de licence dessus c'est pour ça

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    L'Id de l'OS est censé être unique par exemple . Mais comme je te le disais avant, une combinaison d'infos de la machine sera une meilleure option (niveau sécurité).

    Après quelles informations prendre, c'est pas évident. Il y a ceux déjà cité (procId, OS Id), tu peux regarder du côté des adresses mac des cartes réseau (encore que... il faut que tu sois sur une infrastructure stable, car un portable et les multiples possibilités d'activation de cartes réseau te rendront la tâche peu évidente...)

    Sinon (et c'est un point de vue personnel), je m'orienterai plutôt vers des solutions existantes pour la gestion de licences (même si elles sont payantes). C'est moins de galères ^^
    Par exemple : http://www.eziriz.com/

Discussions similaires

  1. Déterminer le CPUID
    Par ZuZu dans le forum Assembleur
    Réponses: 9
    Dernier message: 21/05/2008, 13h09
  2. PROGRESS- Obtenir le ROWNUM, ROWID, etc?!?
    Par nmathon dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/05/2003, 14h05
  3. Fonction/méthode pour obtenir l'IP de la machine
    Par sirex007 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 10/04/2003, 14h36
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. Obtenir les taches en cours
    Par mlerat22 dans le forum MFC
    Réponses: 3
    Dernier message: 17/06/2002, 12h36

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