Ecrire une valeur dans la base de registre

yerosnimus Messages postés 18 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 15 janvier 2007 - 14 déc. 2004 à 11:31
yerosnimus Messages postés 18 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 15 janvier 2007 - 14 déc. 2004 à 16:46
bonjour,

en dépit de toute la littérature trouvée sur ce site concernant l'écriture de clé dans la base de registre windows, je n'y arrive pas ou pas tout à fait.
J'arrive à créer ma clé mais pas à mettre une valeur.
Voici à quoi ressemble ma fonction.

BOOL CleFixation()
{
HKEY hkey;
// DWORD dwDisposition;
DWORD dwType, dwSize;
TCHAR m_szLastFileName[]="aaa";

if (RegCreateKeyEx(HKEY_CURRENT_USER, TEXT("Software\\MaSociete\\MonApplication\\Bureau"), 0, NULL, REG_OPTION_NON_VOLATILE, 0, NULL, &hkey, 0) == ERROR_SUCCESS)
{
dwType = REG_SZ;
dwSize = (strlen(m_szLastFileName) + 1);
if(RegSetValueEx(hkey, TEXT("01"), 0, dwType, (PBYTE)&m_szLastFileName, dwSize)){MessageBox(NULL,"ca marche","info",MB_ICONINFORMATION);}
RegCloseKey(hkey);
return TRUE;
}
return FALSE;
}

Je m'attends à trouver sous :
HKCU\Software\MaSociete\MonApplication\Bureau
une clé dont le nom est Bureau et la valeur = aaa.

Je trouve bien la clé mais sans valeur, cad il y a
(par defaut) REG_SZ Valeur non définie.

Qu'est ce que je n'ai pas compris ?

Cordialement,

Jerome

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 déc. 2004 à 12:49
met KEY_ALL_ACCESS pour les accès (ou au moins un accès en écriture) dans le 6ème param de RegCreateKeyEx() (samdesired)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 déc. 2004 à 12:51
Comme pour RegCreateKeyEx, RegSetValueEx renvoie ERROR_SUCCES (0) en cas de réussite.
0
yerosnimus Messages postés 18 Date d'inscription jeudi 4 novembre 2004 Statut Membre Dernière intervention 15 janvier 2007
14 déc. 2004 à 16:46
C'était ça qui me manquait "KEY_ALL_ACCESS", merci beaucoup

Jerome
0
Rejoignez-nous