begin process at 2012 05 30 03:08:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

lire dans la base de registre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lire dans la base de registre

jeudi 17 avril 2003 à 22:53:39 | lire dans la base de registre

BsEtZeOpLhD

Salut.
J'utilise VC++ et je suis sous Win XP.
Voila, j'ai un problème pour lire une valeur de type REG_SZ dans la base de registre.
J'utilise ce code :
#include <windows.h>
#include <iostream.h>

void EcrireTexte(HKEY HK,DWORD RE,char* cle,char* nom,char* valeur)
{
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 ,(unsigned char *)valeur,strlen(valeur)+1);
RegCloseKey(Retour);
}

void LitTexte(HKEY HK,char* cle,char* nom,char* valeur,unsigned long taille)
{
HKEY Retour;
unsigned long type;

RegOpenKeyEx(HK,cle,0,KEY_ALL_ACCESS,&Retour);
RegQueryValueEx( Retour,nom,NULL,&type,(unsigned char *)valeur,&taille);
RegCloseKey(Retour);
}

void main ()
{
EcrireTexte(HKEY_LOCAL_MACHINE,REG_SZ,"SOFTWARE\\Test","Test","voici un test");
char valeur;
LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",&valeur,14);
cout << valeur;
}
Peu importe la valeur entré dans la variable taille, le programme plante...
Merci de me dir se qui ne va pas.
Bye.
vendredi 18 avril 2003 à 23:04:02 | Re : lire dans la base de registre

vieuxLion

salut,

C simple
change ta déclaration 'char valeur' en 'char valeur[14]',
ce qui permettra une bonne allocation mémoire
et change
LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",&valeur,14);
en
LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",valeur,14);



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

> Salut.
> J'utilise VC++ et je suis sous Win XP.
> Voila, j'ai un problème pour lire une valeur de type REG_SZ dans la base de registre.
> J'utilise ce code :
>
#include <windows.h>
> #include <iostream.h>
>
> void EcrireTexte(HKEY HK,DWORD RE,char* cle,char* nom,char* valeur)
> {
> 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 ,(unsigned char *)valeur,strlen(valeur)+1);
> RegCloseKey(Retour);
> }
>
> void LitTexte(HKEY HK,char* cle,char* nom,char* valeur,unsigned long taille)
> {
> HKEY Retour;
> unsigned long type;
>
> RegOpenKeyEx(HK,cle,0,KEY_ALL_ACCESS,&Retour);
> RegQueryValueEx( Retour,nom,NULL,&type,(unsigned char *)valeur,&taille);
> RegCloseKey(Retour);
> }
>
> void main ()
> {
> EcrireTexte(HKEY_LOCAL_MACHINE,REG_SZ,"SOFTWARE\\Test","Test","voici un test");
> char valeur;
> LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",&valeur,14);
> cout << valeur;
> }
>
Peu importe la valeur entré dans la variable taille, le programme plante...
> Merci de me dir se qui ne va pas.
> Bye.
vendredi 18 avril 2003 à 23:11:16 | Re : lire dans la base de registre

BsEtZeOpLhD

Merci beaucoup !!! :)


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

> salut,
>
> C simple
> change ta déclaration 'char valeur' en 'char valeur[14]',
> ce qui permettra une bonne allocation mémoire
> et change
> LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",&valeur,14);
> en
> LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",valeur,14);
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut.
> > J'utilise VC++ et je suis sous Win XP.
> > Voila, j'ai un problème pour lire une valeur de type REG_SZ dans la base de registre.
> > J'utilise ce code :
> >
#include <windows.h>
> > #include <iostream.h>
> >
> > void EcrireTexte(HKEY HK,DWORD RE,char* cle,char* nom,char* valeur)
> > {
> > 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 ,(unsigned char *)valeur,strlen(valeur)+1);
> > RegCloseKey(Retour);
> > }
> >
> > void LitTexte(HKEY HK,char* cle,char* nom,char* valeur,unsigned long taille)
> > {
> > HKEY Retour;
> > unsigned long type;
> >
> > RegOpenKeyEx(HK,cle,0,KEY_ALL_ACCESS,&Retour);
> > RegQueryValueEx( Retour,nom,NULL,&type,(unsigned char *)valeur,&taille);
> > RegCloseKey(Retour);
> > }
> >
> > void main ()
> > {
> > EcrireTexte(HKEY_LOCAL_MACHINE,REG_SZ,"SOFTWARE\\Test","Test","voici un test");
> > char valeur;
> > LitTexte(HKEY_LOCAL_MACHINE,"SOFTWARE\\Test","Test",&valeur,14);
> > cout << valeur;
> > }
> >
Peu importe la valeur entré dans la variable taille, le programme plante...
> > Merci de me dir se qui ne va pas.
> > Bye.
>


Cette discussion est classée dans : valeur, char, red, retour, hkey


Répondre à ce message

Sujets en rapport avec ce message

écrire une clef en binaire [ par alphaone ] Ma fonction ne marche pas.Voici comment je la lance:EcrireTexteBinary(HKEY_CURRENT_USER,REG_BINARY,".DEFAULT\\Software\\Microsoft\\Windows\\CurrentVer convertir HKEY en char* [ par julienbj ] Bonjour, je cherhce à convertir le type HKEY en char*Je travaille sur une librairie pour utiliser la base de registre, et je souhaiterais pouvoir sauv ecrire une valeur dans la base de registre [ par yerosnimus ] 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 t conversion char to TBint32 [ par gab55 ] Bonjour a tous je suis débutant en c++ et j'utilise une fonction qui lit des données dans un fichier texte mon probleme est que les données contenues strstr [ par melkiorlenecrarque ] Bonjour Je n'arrive pas à utiliser strstr(...) if( lstrcmp(BufMp3, "ID3") == 0 )    //tag v2             {           & Je ne sais plus bien caster des pointeurs 'universels' [ par LiBe444 ] Bonjour, dans l'en tête tads.h, j'utilise une fonction en préprocession de la forme   #define VAL(a)(a.type==EK_ENTIER ? *(int*)a.valeur : (a.type==E registre windows - lecture d'une valeur [ par shadow1779 ] bonjour, voila je veux lire dans la valeur InstallPath de ma clé, j'voudrai en fait faire un: char path[150]; et enregistrer ce que retournera RegQuer allouer de la mémoire pile. [ par deck_bsd ] Bonjour, Voila j'ai un problème , j'ai fait une partie de programme qui est chargé d'allouer juste assez de mémoire a un pointeur  de type char pou Registre windows en lecture [ par shadow1779 ] Bonjour,j'aimerai de l'aide si possible sur le registre windows j'arrive a creer une clé , ou l'ouvrir, a en supprimer une... etc mais pas a lire une probléme tableau de char, 2dim--->1dim (en gros) [ par psyko_flex ] je doit rassembler les valeur d'uun tableau a 2 dim pour en faire un tableau a une dim!voila le code qui me pose problémevoid Btn (GtkWidget *widget,g


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales