écrire une clef en binaire

Signaler
Messages postés
134
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
14 novembre 2009
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Ma fonction ne marche pas.
Voici comment je la lance:
EcrireTexteBinary(HKEY_CURRENT_USER,REG_BINARY,".DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\tips","clef","vall");


voici ma fonction:
void EcrireTexteBinary(HKEY HK,DWORD RE,char* cle,char* nom,char* valeur) {


SECURITY_ATTRIBUTES SecAtt;
HKEY Retour;
DWORD dwDisp = 0;
LPDWORD lpdwDisp = &dwDisp;
BYTE *b;
HANDLE heap;
char a[20];
RegCreateKeyEx(HK, cle, 0L, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, &SecAtt, &Retour, lpdwDisp);
heap=HeapCreate(0,0,0);
b=(BYTE*)HeapAlloc(heap,0,30);
strcpy((char*)b, "Valeur...");
//RegSetValueEx(Retour,nom,0,REG_BINARY,b ,strlen(b));
//RegSetValueEx(Retour,nom,0,REG_BINARY,(LPBYTE)valeur,strlen(valeur));
RegSetValueEx(Retour,nom,0,RE ,(PBYTE)valeur,strlen(valeur)+1);
HeapFree(heap,0,b);
HeapDestroy(heap);
RegCloseKey(Retour);
/*
SECURITY_ATTRIBUTES SecAtt;
SecAtt.nLength = sizeof (SECURITY_ATTRIBUTES);
SecAtt.lpSecurityDescriptor = NULL;
SecAtt.bInheritHandle = TRUE;
HKEY Retour;
DWORD Action;
RegCreateKeyEx(HK,cle,0,"", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, & SecAtt, &Retour, &Action);
RegSetValueEx(Retour,nom,0,RE ,(LPBYTE)valeur,strlen(valeur)+1);
RegCloseKey(Retour);
*/
}

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
strlen sur du binaire risque de ne pas donner quoi que ce soit de valable, faut dire le nbr d'octets à insérer.

ciao...
BruNews, MVP VC++
Messages postés
134
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
14 novembre 2009

tu peut faire un copier coller en modifiant le code pour qu'il marche car je ne voit pas ce qu'il faut faire.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
DWORD nBytes = ???
RegSetValueEx(hk, nom, 0, REG_BINARY, (BYTE*) valeur, nBytes);

ciao...
BruNews, MVP VC++