Manipuler la base de registres

Signaler
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
J'ai un peu de mal pour la base de registre,
qqn pourrait il me dire comment :
_Créer et modifier des clés(modifier les valeur)
_supprimmer une clé
_obtenir la valeur d'une clé
_lister tt les clés présentes dans un dossier

essayez de mettre un exemple, les API de la base de registres sont assez dures... (par rapport au vb ;) )

merci

2 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
D'abord les précautions d'usages :
Travailler avec la base de registre est TRES dangereux
bla... bla... bla...

Maintenant voici un petit bout de code spécialement préparé pour l'occasion:
Il crée une clef sous HKEY_CURRENT_USER et la relie

Au suivant de compléter l'exemple...

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
const unsigned long bufLen = 25;

HKEY hKey;
TCHAR szValeur[]= "ca marche ?";
LONG lRet;

//Ecriture de la clef
if(RegCreateKeyEx(HKEY_CURRENT_USER,
TEXT("MaClef"),//nom de la nouvelle clef
0, "", 0, KEY_READ | KEY_WRITE,
0,//les SecurityAttributes sont ignorés
&hKey,//le handle de la nouvelle clef
0 ) != ERROR_SUCCESS)
{MessageBox(0,"RegCreateKeyEx","Erreur",MB_OK);return 1;}
RegSetValueEx(hKey, "MaValeur", 0,
REG_SZ /*type chaine*/,
(LPBYTE) &szValeur,
strlen(szValeur));
RegCloseKey(hKey);

//Lecture de la clef
if(RegOpenKeyEx(HKEY_CURRENT_USER,
TEXT("MaClef"),
0,
KEY_QUERY_VALUE,
&hKey) != ERROR_SUCCESS)
{MessageBox(0,"","Erreur",MB_OK);return 1;}

lRet = RegQueryValueEx(hKey,
TEXT("MaValeur"),
NULL,
NULL,
(LPBYTE)szValeur,
(LPDWORD)&bufLen);

RegCloseKey(hKey);

if(lRet != ERROR_SUCCESS)
{MessageBox(0,"","Erreur",MB_OK);}
else
{MessageBox(0,szValeur,"OK",MB_OK);}

return 0;
}
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
Encore moi,
Je viens de m'apercevoir que 2 excellentes sources récentes ont été postées sur le sujet ...
=> par SARDINOMAN
à consulter donc !