Problème MFC

Le
jihene.benmarzouk
Bonjour,
j'ai un petit problème avec mon application MFC quand j'active le code
suivant:

RegCreateKeyEx(key,"SOFTWARE\GeneratorTool",0,"",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);


elle se ferme en me générant: l application monApp.exe a rencontré un
problème et doit se fermer
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
marc
Le #19324341
a écrit :
Bonjour,
j'ai un petit problème avec mon application MFC quand j'active le code
suivant:
RegCreateKeyEx(key,"SOFTWARE\GeneratorTool",0,"",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);

elle se ferme en me générant: l application monApp.exe a rencontré un
problème et doit se fermer



Il faut donner plus de précisions car c'est pas compilable comme ça:
que valent key, cle, action ?
jihene.benmarzouk
Le #19325561
merci pour votre réponse alors voilà plus de précision:
HKEY cle=HKEY_CURRENT_USER;
LPDWORD action=(LPDWORD)REG_CREATED_NEW_KEY;

RegCreateKeyEx(key,"SOFTWARE\GeneratorTool",0,"",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);
Christian ASTOR
Le #19326991
On 13 mai, 15:42, wrote:
merci pour votre réponse alors voilà plus de précision:
HKEY cle=HKEY_CURRENT_USER;
LPDWORD action=(LPDWORD)REG_CREATED_NEW_KEY;

RegCreateKeyEx(key,"SOFTWARE\GeneratorTool",0,"",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);



DWORD action = REG_CREATED_NEW_KEY;
et : &action au lieu de action dans RegCreateKeyEx()
jihene.benmarzouk
Le #19332541
OH oui ça marche ,merci infiniment :)
jihene.benmarzouk
Le #19360771
en fait, j'ai un autre problème dans la même catégorie : j peux pas
extraire la valeur d'une variable dans la base de registre ,pourtant
je suis sure que ce code marche :

string ValeurCle;
DWORD TailleValeurCle;
if((RegOpenKeyEx(key,"SOFTWARE\GeneratorTool",0,KEY_QUERY_VALUE,&Open)
==ERROR_SUCCESS))
{
if(RegQueryValueEx(Open,"maValeure",NULL,NULL,(unsigned char*)
ValeurCle.c_str(),&TailleValeurCle)==ERROR_SUCCESS)
::AfxMessageBox(ValeurCle.c_str());
else
::AfxMessageBox("pas de valeur");
}


et le resultat c'est toujours ""pas de valeur"
Christian ASTOR
Le #19361141
On 18 mai, 16:10, wrote:
en fait, j'ai un autre problème dans la même catégorie : j peux pas
extraire la valeur d'une variable dans la base de registre ,pourtant
je suis sure que ce code marche :

string ValeurCle;
DWORD TailleValeurCle;
if((RegOpenKeyEx(key,"SOFTWARE\GeneratorTool",0,KEY_QUERY_VALUE,&Open)
==ERROR_SUCCESS))
{
        if(RegQueryValueEx(Open,"maValeure",NULL,NULL,(unsigned c har*)
ValeurCle.c_str(),&TailleValeurCle)==ERROR_SUCCESS)
                ::AfxMessageBox(ValeurCle.c_str());
        else
                ::AfxMessageBox("pas de valeur");

}

et le resultat c'est toujours ""pas de valeur"



Sur mon poste (XP), ça marche.
Mais pour savoir l'erreur, récupérer la valeur de retour :
LONG nErr = RegQueryValueEx(...)
Publicité
Poster une réponse
Anonyme