Registre : binary

Signaler
Messages postés
134
Date d'inscription
vendredi 2 mai 2003
Statut
Membre
Dernière intervention
14 novembre 2009
-
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007
-
j'aimerai voir comment on envoie du texte en binary dans le registre. donnez un exemple svp

2 réponses

Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut,

La fonction à utiliser est la suivante (extrait de MSDN ) :

LONG RegSetValueEx(
HKEY [ hKey]
,
LPCTSTR [ lpValueName]
,
DWORD [ Reserved]
,
DWORD [ dwType]
,
const BYTE* [ lpData]
,
DWORD [ cbData]

);

L'argument dwType doit prendre la valeur REG_BINARY (cf.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/registry_value_types.asp)

Dans lpData, tu balances un pointeur sur ce qui doit être stocké dans la base de registres.

Ciao.
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

(suite) Un petit exemple au passage :

#include <windows.h>


int main(int argc, char** argv)
{
HKEY hKey;
DWORD dwDisp = 0;
LPDWORD lpdwDisp = &dwDisp;
BYTE *b;
HANDLE heap;
char a[20];
RegCreateKeyEx(HKEY_CURRENT_USER, "CLEF", 0L, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, lpdwDisp);
heap=HeapCreate(0,0,0);
b=(BYTE*)HeapAlloc(heap,0,30);
strcpy((char*)b, "Valeur...");
RegSetValueEx(hKey,"Attributes",0,REG_BINARY,b,strlen(b));
HeapFree(heap,0,b);
HeapDestroy(heap);
RegCloseKey(hKey);
return(0);
}

Je n'ai pas eu le temps d'ajouter des contrôles (vérifier si la clef a bien été créée, par exemple), mais tu t'en débrouilleras bien.
En espérant t'avoir un peu aidé.