Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4028 connectés 

 


Dernière réponse
Sujet : [C++] Définir une valeur REG_DWORD dans le registre
chrisbk bah un truc du genre :
 
DWORD pouet = 1;
 
 
RegSetValueEx(Hk, "entry", 0, REG_DWORD, (const BYTE *)&pouet,sizeof(pouet));  
 
 
marche pas ca ?
 
Quand tu mets REG_DWORD, la fonction s'attends a recevoir un DWORD (4octet de long) alors qu'avec ce que tu faisais elle recevait un char (1octet) . ca doit etre pour ca que tu obtenais des bidules incoherents

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
chrisbk bah un truc du genre :
 
DWORD pouet = 1;
 
 
RegSetValueEx(Hk, "entry", 0, REG_DWORD, (const BYTE *)&pouet,sizeof(pouet));  
 
 
marche pas ca ?
 
Quand tu mets REG_DWORD, la fonction s'attends a recevoir un DWORD (4octet de long) alors qu'avec ce que tu faisais elle recevait un char (1octet) . ca doit etre pour ca que tu obtenais des bidules incoherents
bkadoum d'accord et comment je fais alors? Le seul moyen que j'ai trouvé c'est passé un string et le caster en BYTE.
chrisbk

bkadoum a écrit a écrit :

Est-ce parce que je passe un string en paramètre?  




 
 
de tres forte chance oui

bkadoum J'utilise la fonction RegSetValueEx comme ceci:
 
HKEY Hk;
char *string = new char[255];
 
RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Test", &Hk);
RegSetValueEx(Hk, "entry", 0, 4, (const BYTE *)"1", strlen("1" ));
 
Et voila ca ce serait censé définir la valeur entry à 1 dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\Test mais ca marche pas!! Pour les valeurs de type REG_SZ ca pose aucun probleme mais pour un REG_DWORD comme entry ca met une valeur incohérente. Est-ce parce que je passe un string en paramètre?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)