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

Windows Discussion :

[C++]Problème clé de registre


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 193
    Par défaut [C++]Problème clé de registre
    Bonjour,
    Afin d'afficher automatiquement les traces de la souris, j'ai écrit une petite fonction chargée de poser un clé de registre dans la clé "Mouse" du "Control Panel" de la base de registre.
    En sachant que pour afficher les traces de la souris, il faut que la chaine MouseTrails est une valeur de "7", j'ai adapté ma fonction à cet effet.
    La fonction fonctionne bien, MouseTrails vaut "7" et pourtant il ne se passe rien !
    J'afface tout, dans le panneau de config je regle manuelement les propriétés de la souris pour afficher les traces, MouseTrails passe à "7", mais la ca marche !
    Il y a t'il autre chose à faire ? Disposer des droits de l'admin peut-être ? Comment faire ?
    Voila, merci !

    ah au fait ma fonction :
    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
    int MouseTrails()
    {
        #define KEY_MOUSE  "Control Panel\\Mouse"
        #define VAL_MOUSE  "MouseTrails"
    
        HKEY    hKey;
        
        if (RegOpenKey(HKEY_CURRENT_USER, KEY_MOUSE, &hKey) != ERROR_SUCCESS)
            if (RegCreateKey(HKEY_CURRENT_USER, KEY_MOUSE, &hKey) != ERROR_SUCCESS)
    			return 0;
    
        unsigned char val[10] = "7";
        RegSetValueEx(hKey, VAL_MOUSE, 0, REG_SZ, val, sizeof(val));
        
        RegCloseKey(hKey);
    
    }

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Non, ça n'a pas l'air d'être un problème de droits : C'est dans HKEY_CURRENT_USER après tout.

    Peut-être qu'il faut que la taille passée soit la bonne,
    Et peut-être qu'il faut préciser RegSetValueExA() pour montrer que la chaîne n'est PAS en unicode...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 193
    Par défaut
    Comment fait-on pour passer une "bonne taille" ?
    J'ai fais un test :
    Dans le panneau de config j'affiche les traces de la souris.
    J'ouvre regedit, MouseTrails est passé à "7" ( pas "7 " ou " 7").
    Je le met manuelement à zero.
    Les traces continuent de s'afficher.
    C'est bizzar quand même.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Je pense qu'il faut quelque chose de plus pour que le changement soit pris en compte. Un truc pour "actualiser"...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 193
    Par défaut
    ben je pense pas, ca fais déjà pas mal de temps que je bidouille dans la base de registre, je n'ai jamais eus besoin d'actualiser quoi que ce soit. Ceci dit tu à peut-etre raison. Peut-être qu'une seconde clé est inscrite, pour 'confirmer'.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 193
    Par défaut
    Apparamment tu as raison, il faut bien un mise à jour de la base de registre :
    après avoir reglé la clé avec ma fonction, j'ai redémarré mon PC et après ca fonctionnait sans problème.
    La question maintenant est : comment mettre la bdr à jour sans avoir à redémarrer l'ordinateur ? Car le panneau les réglages du panneau de congiguration ne nécessitent pas de redémarrage.

Discussions similaires

  1. Problème base de registre
    Par justgreat dans le forum Windows
    Réponses: 1
    Dernier message: 11/05/2010, 15h17
  2. Problème avec le registre d'état avec inpout32.dll
    Par tims12 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/08/2009, 14h53
  3. problème avec des registres
    Par bentley71de dans le forum C
    Réponses: 0
    Dernier message: 31/07/2008, 14h51
  4. problème avec le registre
    Par akli_agha dans le forum Windows XP
    Réponses: 6
    Dernier message: 07/10/2006, 10h11
  5. Problème de lecture registre avec RegEnumKeyEx
    Par mdriesbach dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/10/2005, 11h27

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