Stocker un string dans une base de registre
lilaaa
Messages postés
110
Statut
Membre
-
lilaaa Messages postés 110 Statut Membre -
lilaaa Messages postés 110 Statut Membre -
Bonjour,
Je travaille sous Visual C++ 2003, j'aimerai pouvoir stocker une chaine de caractères dans la base de registres et puis la retrouver par la suite, j'ai cru comprendre qu'il faut d'abord créer une clé et une valeur dans cette clé, donc j'ai mis ce code:
la clé se crée belle et bien , mais aucune valeur ne s'affiche a part celle par défaut, je comprends pas.
quelqu'un peut m'aider?
Je travaille sous Visual C++ 2003, j'aimerai pouvoir stocker une chaine de caractères dans la base de registres et puis la retrouver par la suite, j'ai cru comprendre qu'il faut d'abord créer une clé et une valeur dans cette clé, donc j'ai mis ce code:
HKEY cle=HKEY_CURRENT_USER; LPDWORD action=(LPDWORD)REG_CREATED_NEW_KEY; DWORD dwRes; //créer la clé dwRes=RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\GeneratorTool",0,"",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&,action); //ajouter une valeure RegSetValueEx(cle, "maVeleure", 0, REG_SZ, (unsigned char*)i_sEventFile.c_str(), i_sEventFile.length());
la clé se crée belle et bien , mais aucune valeur ne s'affiche a part celle par défaut, je comprends pas.
quelqu'un peut m'aider?
A voir également:
- Stocker un string dans une base de registre
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Formules excel de base - Guide
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
- Gigaset pas de base - Forum telephonie fixe
2 réponses
Bonjour
Pour pouvoir écrire dans une clé, que tu l'aies créée toi-même ou qu'elle existe déjà, il faut commencer par l'ouvrir. C'est cette ouverture de clé qui te donnera le 1er paramètre à passer à RegSetValueEx (au lieu de HKEY_CURRENT_USER comme tu le fais actuellement)
Pour pouvoir écrire dans une clé, que tu l'aies créée toi-même ou qu'elle existe déjà, il faut commencer par l'ouvrir. C'est cette ouverture de clé qui te donnera le 1er paramètre à passer à RegSetValueEx (au lieu de HKEY_CURRENT_USER comme tu le fais actuellement)
Si je comprends bien ce que vous dites je fais ça :
et ceci n'a pas marché.
Remarque: comment peut on extraire le nom de la clé à partir de RegOpenKeyEx
HKEY cle=HKEY_CURRENT_USER;
LPDWORD action=(LPDWORD)REG_CREATED_NEW_KEY;
CString maVal;
maVal="coucou";
if(!(RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\GeneratorTool",0,KEY_ALL_ACCESS,&cle)))
RegCreateKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\GeneratorTool",0,"", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);
else
{
RegSetValue(HKEY_CURRENT_USER,"SOFTWARE\\GeneratorTool",REG_SZ,i_sEventFile,i_sEventFile.GetLength());}
RegCloseKey(cle);
et ceci n'a pas marché.
Remarque: comment peut on extraire le nom de la clé à partir de RegOpenKeyEx