Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème MFC

6 réponses
Avatar
jihene.benmarzouk
Bonjour,
j'ai un petit probl=E8me 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=E9n=E9rant: l application monApp.exe a rencontr=E9 un
probl=E8me et doit se fermer

6 réponses

Avatar
marc
a écrit :
Bonjour,
j'ai un petit problème avec mon application MFC quand j'active le code
suivant:
RegCreateKeyEx(key,"SOFTWAREGeneratorTool",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 ?
Avatar
jihene.benmarzouk
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,"SOFTWAREGeneratorTool",0,"",
REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &cle, action);
Avatar
Christian ASTOR
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,"SOFTWAREGeneratorTool",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()
Avatar
jihene.benmarzouk
OH oui ça marche ,merci infiniment :)
Avatar
jihene.benmarzouk
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,"SOFTWAREGeneratorTool",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"
Avatar
Christian ASTOR
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,"SOFTWAREGeneratorTool",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(...)