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 :

Problème d'utilisation des clés registre


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut Problème d'utilisation des clés registre
    Bonjour à tous, et à toutes.

    J'ai un comportement trés trés étrange que je ne m'explique pas. Soit mes yeux me jouent des tours, soit j'ai rien compris à l'utilisation de la classe Registry.

    J'ai plusieurs projets différents dans une même solution. Et cette solution me permet de créer deux exécutables dans des répertoires différents. Il se trouve que j'ai besoin d'élements de configurations identique pour les deux executable. D'où mon utilisation de la base de registre car c'est un éléments facile d'accés pour les deux programmes sans devoir jongler avec les chemins d'accés pour des fichiers de configurations qui se trouverait dans le repertoire d'exécution.

    ça c'est pour la petite histoire ^^. (Même si je ne suis pas sur qu'elle soit bien clair, mais c'est une autre histoire ).

    Pour en revenir au sujet, l'un des exécutable, me permet bien d'accés à mes clés en base de registre en faisant quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Registry.LocalMachine.OpenSubKey(@"Software\Code Arphonis").GetValue("ModeFonctionnement").ToString();
    Mais lorsque je fais exactement la même chose sur l'autre executable ( en fait c'est avec l'utilisation d'une librairie pour cet executable mais je ne pense pas que cela rentre en jeu) J'ai une erreur de type NullReferenceException...

    Aprés enquête j'ai fait un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE");
                foreach(string s in rk.GetSubKeyNames())
                    Console.WriteLine(s);
    Afin de lister les clé sous Software et la J'ai pas de Code Arphonis, mais des valeurs qui sont présent dans HKEY_CURRENT_USER et non dans HKEY_LOCAL_MACHINE :s

    Pourtant rassurer moi mais est bien censé récupérer les élements sous HKEY_LOCAL_MACHINE quoi qu'il arrive non?

    J'ai l'impression de perdre la boule pour le coup... il est clair, qu'il y a quelque chose que je n'ai pas vu et qui me fait du fil à retordre

    Bref si quelqu'un arrivait à éclairer ma lanterne, ce serai super gentil

    EDIT:
    Bon ayant un dual boot Windows7/ Windows XP, je constate que le problème ne se produit que sous Windows7. C'est pourtant la rtm proposé sur msdn...

    Bref, je ne sais que quoi penser :s

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut
    Je ne suis pas doué aujourd'hui...

    J'ai une conf particuliére pour compiler les sources sur l'un de mes exe...
    En fait, il ne recompilait pas les sources plus récentes... il réutilisait l'ancien code.

    Bref sans commentaire.

    Y a des jours où on ferrait mieux de rester coucher hehehe

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Points : 158
    Points
    158
    Par défaut
    Bon en fait je n'étais pas dingue...

    Aprés on va dire que je perds la boule, ou que je ne sais pas ou je met les pieds (y a peut-être un peu de vrai...)

    Quoi qu'il arrive j'en apprends tous les jours avec visual studio .

    Je ne comprenais pas pourquoi, je n'accédais pas à la base de registre dans un cas alors que dans l'autre génération j'y arrivais sur windows 7. Tant dis que sous Windows XP aucun soucis.

    En fait en changeant le gestionnaire de configuration, pour ne générer que les projets qui m'interressaient, je me retrouve lors de l'execution à accéder en mode debug à la base de registre local. Mais lors que j'ai fait un nouveau profil pour la génération (en copie depuis debug malgré tout), la sur ce nouveau profil j'accéde à Windows CE Remote Registry. Or l'état n'est pas du tout identique bien entendu à la base de registre local.

    Je ne comprends pas pourquoi en changeant de profil pour la génération, je me retrouve à pointer sur une autre base de registre... Une option dans visual studio de cocher qui provoque ça? Je ne pense pas car même si je tente d'y accéder en lançant directement l'executable générer ainsi, j'accéder à la 'mauvaise' base de registre si je puis dire...

    D'ailleurs je ne savais même pas qu'on pouvait avoir deux bases de registre afin de pouvoir tester les développements sur les mobiles ou autres plateforme à base de Windows CE :s.

    Si quelqu'un avait une info, ou un lien ou je puisse avoir des informations sur le sujet je lui en serai trés reconnaissant.

    PS: Désolé, de rouvrir le post... je pensais l'affaire close, mais finalement je n'avais pas bien compris le comportement de la chose

    EDIT:
    Petit à petit, je vais arriver à trouver . Je sais à présent que c'est lié au fait que c'est un projet XNA... Cela n'utilise pas la base de registre que je voudrais :s. L'autre projet étant windows 'pure' vu que c'est un serveur que je développe si je puis m'exprimer ainsi donc il ne pose aucun soucis pour la base de registre. L'autre c'est un éditeur de qui utilise les composants XNA, et le projet est de ce type . Et lui pose problème car il n'accéde pas à la même base de registre, comme si j'allais utilisait un appareil particulier...

    Or ce n'est point le cas.

    Bref je cherche toujours et encore hehehe en espèrant m'orienter dans la bonne direction.

Discussions similaires

  1. Problème d'utilisation des threads dans mes servlets
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 08/08/2007, 19h34
  2. Problème d'utilisation des files
    Par AraBorLeg dans le forum C
    Réponses: 4
    Dernier message: 06/01/2007, 20h55
  3. Réponses: 1
    Dernier message: 24/11/2006, 16h36
  4. Problème d'utilisation des attributs width et height avec une image distante
    Par Ptit_Mouss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/09/2006, 15h40
  5. Créer / Lire des clés registre sous Dev-Cpp
    Par N3odyme dans le forum Windows
    Réponses: 4
    Dernier message: 11/09/2006, 21h08

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