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 :

Pb pour lire une clé de registre dans KHEY_LOCAL_MACHINE


Sujet :

C#

  1. #1
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut Pb pour lire une clé de registre dans KHEY_LOCAL_MACHINE
    Bonjour,

    J'utilise Visual Studio Community 2015 Up2 sous Windows 7 Pro x64

    Je veux lire des clés de registre pour faire des vérifs, ce code-là fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeurLue = (string)Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows Media\\WMSDK\\General","ComputerName", " ");
    je récupère bien ma clé.

    Mais celui-ci ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeurLue = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Internet Explorer\\Registration","ProductId", " ");
    je récupère seulement ma valeur par défaut qui est " "...

    Je ne comprends pas pourquoi le 2ème code ne fonctionne pas!!!

    Merci d'avance de vos suggestions...
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

  2. #2
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Bon j'ai continué de chercher de mon côté, je n'arrive toujours pas à lire la clé de registre dans HKEY_LOCAL_MACHINE mais j'ai trouvé une autre solution...

    D'abord j'ai besoin du nom du PC, donc finalement j'ai utilisé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeurLue = Environment.MachineName.ToString();
    Simple et efficace...

    Ensuite, j'ai besoin de l'ID Windows du PC et là j'ai utilisé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    using System.Management;
    ...
    const string queryString = "SELECT SerialNumber FROM Win32_OperatingSystem";
    ...
    valeurLue = (from ManagementObject managementObject in new ManagementObjectSearcher(queryString).Get()
                                 from PropertyData propertyData in managementObject.Properties
                                 where propertyData.Name == "SerialNumber"
                                 select (string)propertyData.Value).FirstOrDefault();
    ...
    et ça fonctionne impeccable! Pour info, j'ai trouvé cette solution là: http://alexmg.com/getting-the-window...-id-using-wmi/

    Donc bon, cela fonctionne maintenant, mais je n'ai toujours pas la soluce pour lire cette clé de registre...
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Ceci peut être du à un problème de droit d'accès ou un problème de redirection du registre.

    Depuis le FrameWork 4.0 il est facile de préciser le type d'affichage souhaité avec 'RegistryView'.
    https://msdn.microsoft.com/fr-fr/lib...=vs.85%29.aspx
    https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    bonsoir,

    Comme evoqué par ericlm128 il s agit probablement d un pb de redirection lié a la compatibilité x32/x64 bits de ton programme ....
    Il serait dès lors judicieux de savoir quelle architecture ton projet cible-t-il : x86, x64, AnyCpu (parametrable depuis les propriétés de ton projet) ??

    ++

  5. #5
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Par défaut mes projets sont toujours en "Any CPU" avec l'option "Préférer 32 bits".

    Mais j'ai déjà essayé d'enlever l'option "Préférer 32bits", et de mettre en x64, mais je n'accède pas mieux à la clé HKEY_LOCAL_MACHINE...

    Ceci dit, ce n'est pas très grave vu que j'ai fais autrement, et que la plupart du temps je n'aime pas trop bricoler dans la base de registre. Mes applis devant tourner sur Windows 7, 8.1 et 10, j'essaie au maximum de passer par les fonctions système!
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

  6. #6
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    @shkyo :

    ....et tu ne cherches pas a comprendre ou determiner l origine du probleme o_O ??
    (tanpis c est ton choix).

    cdlt..

  7. #7
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    @shkyo :

    ....et tu ne cherches pas a comprendre ou determiner l origine du probleme o_O ??
    (tanpis c est ton choix).

    cdlt..
    Si je voudrais bien savoir pourquoi, mais c'est une appli pour mon taf et je n'ai pas trop de temps pour l'instant à consacrer à un problème qui n'est plus bloquant... Car il faut bien que le reste avance!
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

  8. #8
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Je reviens sur ton problème :

    Je viens d'ouvrir un projet de test et le code que tu as fournis plus haut fonctionne parfaitement bien chez moi......

    Les propriétés de mon projet sont définies comme telles :

    ANYCPU ciblé et Preferred 32 Bits décoché !

  9. #9
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Je reviens sur ton problème :

    Je viens d'ouvrir un projet de test et le code que tu as fournis plus haut fonctionne parfaitement bien chez moi......

    Les propriétés de mon projet sont définies comme telles :

    ANYCPU ciblé et Preferred 32 Bits décoché !
    Effectivement, je viens de faire le test moi aussi et ... ça marche! Bizarre ça, j'étais pourtant persuadé d'avoir essayé ce paramétrage auparavant...

    Bon ben problème résolu donc! Mais je garde quand même les solutions sans les accès base de registre, je trouve ça plus propre pour une appli qui va aller sur plusieurs versions de Windows!
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

  10. #10
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par shkyo Voir le message
    Effectivement, je viens de faire le test moi aussi et ... ça marche! Bizarre ça, j'étais pourtant persuadé d'avoir essayé ce paramétrage auparavant...

    Bon ben problème résolu donc! Mais je garde quand même les solutions sans les accès base de registre, je trouve ça plus propre pour une appli qui va aller sur plusieurs versions de Windows!
    Tu préfères certes conserver l'utilisation des objets WMI mais (à titre info) il faut savoir que le temps d'exécution avec cette solution est extrêmement longs ...... cela dit ça reste pratique c'est certains.

    Cdlt.

  11. #11
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par wallace1 Voir le message
    Tu préfères certes conserver l'utilisation des objets WMI mais (à titre info) il faut savoir que le temps d'exécution avec cette solution est extrêmement longs ...... cela dit ça reste pratique c'est certains.

    Cdlt.
    Ah ok, je le note sur cette longueur d'exécution, merci pour l'info!

    Mais au niveau de mon appli, ces 2 valeurs ne sont récupérées qu'une seule fois chacune au moment du lancement, donc la perte de performance ne sera pas ni visible, ni bloquante...
    L'homme sage apprend de ses erreurs, l'homme plus sage apprend des erreurs des autres. - Confucius -

    Ma (petite...) chaine Youtube : https://www.youtube.com/channel/UCy-...P2tH5UwOtLaYKw
    Si vous avez quelques minutes, passez donc voir mon site http://www.photospicsandco.fr/
    Envie de tee-shirts (et goodies!) originaux et sympa ? Visitez mon site... http://www.zazzle.com/shkyo30

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

Discussions similaires

  1. [AC-2010] Ouvrir et lire une clé de registre dans une boucle while
    Par wanted08 dans le forum VBA Access
    Réponses: 7
    Dernier message: 24/11/2015, 08h06
  2. Problème pour lire une valeur dans une cell
    Par heiriquent dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/07/2013, 23h26
  3. [Toutes versions] Lire une Clé 64B (WIN7) dans la base de registre depuis VBA
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2013, 15h08
  4. Réponses: 3
    Dernier message: 04/08/2010, 14h05
  5. sizeof dans une fonction pour lire une chaine
    Par Haze. dans le forum Débuter
    Réponses: 11
    Dernier message: 06/11/2007, 12h07

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