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

Windows Discussion :

Modifier le registre en C ?


Sujet :

Windows

  1. #1
    Débutant
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 46
    Points
    46
    Par défaut Modifier le registre en C ?
    Bonjour je voudrai savoir est il possible de modifie le registre en c ?
    merci @++

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  3. #3
    Débutant
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 46
    Points
    46
    Par défaut
    merci j'ai deja vu sa et j'ai vraiment du mal a comprendre auriez vous un exemple de modification de cle pour que je comprenne mieu merci
    @++

  4. #4
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  5. #5
    Débutant
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 46
    Points
    46
    Par défaut
    Salut quand je compile ce 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
    27
    28
    29
    30
    31
    32
    33
    bool SetRunAppWithExtension(const char *szAppName,
                                const char *szLibApp,
                                const char *szCommandLine,
                                const char *szExtName)
    {
        HKEY hKey=NULL;
        long ret;
        // Creation de la racine szAppName
    
        if(RegCreateKey(HKEY_CLASSES_ROOT, szAppName, &hKey)!=ERROR_SUCCESS) return false; 
        if(RegSetValue(hKey, "", REG_SZ,szLibApp, NULL)!=ERROR_SUCCESS)
        {
            RegCloseKey(hKey);
            return false;
        }
        RegCloseKey(hKey);
        // création de l'entrée pour l'extension szExtname associée à szAppName 
        if((ret=RegCreateKey(HKEY_CLASSES_ROOT, szExtName,&hKey))==ERROR_SUCCESS)
            ret=RegSetValue(hKey, "", REG_SZ, szAppName,NULL);
        else
        {
            RegCloseKey(hKey);
            return false;
        }
        RegCloseKey(hKey);
        // fixe la ligne de commande pour szAppName  
        if((ret = RegCreateKey(HKEY_CLASSES_ROOT, szAppName,&hKey))==ERROR_SUCCESS) 
            ret = RegSetValue(hKey, "shell\\open\\command", REG_SZ, szCommandLine,
                                MAX_PATH);
        if(ret==ERROR_SUCCESS) RegCloseKey(hKey);
    
        return (ret==ERROR_SUCCESS);
    }

    le compilateur me revoi un tas d'erreur donc je voudrai savoir y a t-il un include particulier a fair ??
    merci

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344

  7. #7
    Débutant
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 46
    Points
    46
    Par défaut
    merci j'ai encore une erreur

    a cette ligne:

    if(RegSetValue(hKey, "", REG_SZ,szLibApp, NULL)!=ERROR_SUCCESS)


    voici l'erreur: warning: passing NULL used for non-pointer converting 5 of `LONG RegSetValueA(HKEY__*, const CHAR*, DWORD, const CHAR*, DWORD)'

    merci de ton aide @++

  8. #8
    Membre éclairé Avatar de sloshy
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2005
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 728
    Points : 723
    Points
    723
    Par défaut
    Avant de manipuler l'API WIN32 en C il est bon de connaitre le C non?
    “La seule révolution possible, c'est d'essayer de s'améliorer soi-même, en espérant que les autres fassent la même démarche. Le monde ira mieux alors.”

  9. #9
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    En effet ........
    http://c.developpez.com/cours/

  10. #10
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    je ne connais pas du tout l'api Windows mais j'ai essayé de créer quelquechose à partir des exemples:

    Code C : 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
    #include <windows.h>
    #include <cstdio>
     
    int main()
    {
        HKEY hKey=NULL;
     
        if(RegCreateKey(HKEY_CURRENT_USER, "Software\\VB and VBA Program Settings\\Netbattle\\Script Values", &hKey)!=ERROR_SUCCESS) return false;
        if(RegSetValue(hKey, "aaa", REG_SZ,"abc", 0)!=ERROR_SUCCESS)
        {
            RegCloseKey(hKey);
            return 1;
        }
     
        return 0;
    }

    Malheureusement l'appel à RegSetValue ne marche pas comme je veux:
    J'aimerais, au lieu de créer un dossier nommé "aaa", créer une valeur nommée "aaa" et ayant pour contenu "abc".

    De plus, je ne sais pas à quoi sert le dernier argument de cette fonction.

    Un exemple me suffit amplement, je ne demande que la ligne à mettre à la place de RegSetValue.


    Merci

  11. #11
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Il faut utiliser la fonction RegSetValueEx

  12. #12
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Merci beaucoup.

    Voilà mon code:

    Code C : 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
    #include <windows.h>
    #include <cstdio>
     
    int main()
    {
        HKEY hKey=NULL;
        // Creation de la racine szAppName
     
        if(RegCreateKey(HKEY_CURRENT_USER, "Software\\VB and VBA Program Settings\\Netbattle\\Script Values", &hKey)!=ERROR_SUCCESS) return false;
        if(RegSetValueEx(hKey, "aaa", 0, REG_SZ, (const BYTE*)"abc", 4)!=ERROR_SUCCESS)
        {
            RegCloseKey(hKey);
            return 1;
        }
     
        return 0;
    }

    Ca marche!

Discussions similaires

  1. modifier clé registre
    Par mapmip dans le forum Access
    Réponses: 1
    Dernier message: 08/01/2008, 18h22
  2. Autologon, modifier le registre en C++
    Par S2S dans le forum Windows
    Réponses: 3
    Dernier message: 06/09/2007, 16h00
  3. Réponses: 3
    Dernier message: 16/07/2007, 19h41
  4. Modifier Un Registre
    Par youss_kkk dans le forum Windows
    Réponses: 8
    Dernier message: 04/04/2007, 11h55
  5. modifier le registre des autres sesions.........
    Par duplo dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 10/11/2005, 17h46

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