IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[Base de Registre] - registry.hpp


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Avril 2005
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par d�faut [Base de Registre] - registry.hpp
    Bonjour a tous,
    j'ai r�agit par rapport a un post sur le forum Borland C++ et je me rend d�sormais dans le bon forum pour poster ma question.

    Je souhaite d�velopper une appli tres simple qui lit une valeur dans la base de registre.
    J'ai pu lire le tutorial pour faire cela sur developpez.com.

    Cependant, a l'inclusion de la librairie <registry.hpp>, le compilateur me jette.

    Est ce qu'il y a une autre facon de faire pour Visual C++, et sinon, ou puis je trouver le pack de librairies n�cessaires ?
    merci.

    Pour info, voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    #include "stdafx.h"
    #include <registry.hpp>
     
    int main(int argc, char* argv[])
    {
     
    	return 0;
    }

    et le message d'erreur :
    fatal error C1083: Cannot open include file: 'registry.hpp': No such file or directory

  2. #2
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut

    ce fichier est inconnu (sp�cifique Borland ?)

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2005
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par d�faut
    Dans ce cas, comment aller lire une cl� dans une base de registre sous Visual C++ ?

    Pour info, voici le topic de developpez.com:

    http://c.developpez.com/faq/bcb/?page=systemeregistre

  4. #4
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    En Win32 pur, y'a des fonctions sp�cifiques (RegOpenKeyEx...)
    http://msdn.microsoft.com/library/en-us/sysinfo/base/registry.asp
    -> recherche sur le forum

    Apr�s, certaines libs C++ encapsulent ces fonctions, c'est s�rement le cas de BCB.
    En Win32, �a devrait passer sous tous les compilos (Win32).

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2005
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par d�faut
    Bonjour,

    Je suis all� voir les fonctions sur le lien que tu m'as donn�. Ca m'a l'air de rendre exactement ce dont j'ai besoin. Cependant, je souhaiterais un petit coup de main pour les mettre en oeuvre.

    voici mon code plutot simple:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include "stdafx.h"
    //#include "Winreg.h"
     
    #define MAXESC 255
    int main(int argc, char* argv[])
    {
    	int nError;
    	if (nError = RegOpenKeyEx( HKEY_LOCAL_MACHINE, szkey, 0, KEY_ALL_ACCESS, &k ) ) return nError;
     
    	return 0;
    }
    Si je n'inclue pas la librairie Winreg.h, alors le compilateur me jette ne connaissant pas les fonctions et variables cit�es.

    Je l'inclue donc, et la, j'ai une erreur :

    c:\.....\winreg.h(36) : error C2146: syntax error : missing ';' before identifier 'REGSAM'
    c:\.....\winreg.h(36) : fatal error C1004: unexpected end of file found

    L'erreur me renvoie a la ligne suivante dans Winreg.h :

    typedef ACCESS_MASK REGSAM;

    Sachant que c'est une librairie standard, elle ne semble pas comporter d'erreur. S'agirait il d'un type non reconnu ? Dans la doc, ils parlaient �galement de .lib et .dll... Faut il aussi les inclure ? comment ?

    Please, help !! je n'ai pas de r�elles connaissances en visual C++, je suis plutot orient�, C, java, php ... Mais je souhaite d�velopper ma petite appli en C++.

    Merci de votre aide.

  6. #6
    Membre confirm�
    Inscrit en
    Avril 2005
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par d�faut
    Petite r�ponse pour que ceux qui auraient le meme probleme que moi. Ca fait deux jours que je cherche la solution a mon probleme, et je l'ai trouv�e sur un site allemand (je ne comprends pas l'allemand entre nous).

    J'ai juste inclus la librairie windows.h avant le winreg.h et ca s'am�liore !!!

    Voici donc mon nouveau code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #include "stdafx.h"
    #include "Windows.h"
    #include "Winreg.h"
    #include "stdio.h"
     
    int main(int argc, char* argv[])
    {
    	HKEY  hKeyRes;
     
        if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, "\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.5\\",
                             0, KEY_QUERY_VALUE,
                             &hKeyRes) == ERROR_SUCCESS )
        {
     
    			printf("cle trouve");
     
        }
    	else
    	{
    		printf("cle non trouve");
    	}
     
    	return 0;
     
    }
    Avec cette cl�, je n'obtiens que des "cle non trouve". En cherchant un peu, je me suis apercu que c'etait a cause du "Java Runtime Environment" et sans doute des espaces. Comment puis je rem�dier a cela ???

  7. #7
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Change "\\SOFTWARE" en "SOFTWARE".
    Fait une recherche sur le forum avec RegOpenKeyEx et ses copines, tu trouveras bcp d'exemples, en fran�ais

  8. #8
    Membre confirm�
    Inscrit en
    Avril 2005
    Messages
    125
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par d�faut
    Merci beaucoup, ca marche nickel d�sormais !!!

Discussions similaires

  1. Comment �crire dans la base de registre sans mettre Registry dans Uses ?
    Par DelphiCool dans le forum Codes sources � t�l�charger
    R�ponses: 0
    Dernier message: 13/02/2013, 20h35
  2. Recherche en base de registre
    Par Pomalaix dans le forum Langage
    R�ponses: 7
    Dernier message: 01/08/2012, 10h58
  3. [Windows]acc�s base de registre windows
    Par Greg01 dans le forum API standards et tierces
    R�ponses: 27
    Dernier message: 05/06/2007, 15h14
  4. Acc�s � la base de registre windows � distance
    Par xavame dans le forum S�curit�
    R�ponses: 4
    Dernier message: 13/07/2005, 15h23
  5. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    R�ponses: 8
    Dernier message: 04/06/2002, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo