begin process at 2008 07 06 15:06:43
1 205 598 membres
168 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Manipuler la base de registres [ Archives / API ] (vbnul)

Manipuler la base de registres le 22/12/2002 17:04:51

vbnul
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

Re : Manipuler la base de registres le 22/12/2002 23:39:32

vieuxLion
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;
}




-------------------------------
Réponse au message :
-------------------------------

> 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

Re : Manipuler la base de registres le 22/12/2002 23:48:42

vieuxLion

Encore moi,
Je viens de m'apercevoir que 2 excellentes sources récentes ont été postées sur le sujet ...
=> par SARDINOMAN
à consulter donc !

-------------------------------
Réponse au message :
-------------------------------

> 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;
> }
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > 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
>


Classé sous : base, modifier, registres, manipuler, clés

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS