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

 C Discussion :

Modification d'une valeur de la base de registre


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut Modification d'une valeur de la base de registre
    Bonjour,

    Dans le cadre d'un projet, je désire modifier la variable « path » de Windows pour rendre un exécutable disponible depuis la console sans avoir à aller dans le répertoire d'installation.

    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
    34
    35
    36
    37
    38
    39
    40
    #include <Windows.h>
    #include <stdio.h>
    
    int main(int argc, char **argv)
    {
      HKEY hKey;
      char *path;
      char *path_exec;
    
      path = malloc(600 * sizeof(*path));
      path_exec = malloc(256 * sizeof(*path_exec));
      path = getenv("path");
      path_exec = ";C:\\test";
      path = strcat(path, path_exec);
     
      printf("Path = %s\n", path);
    
      if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", 0, KEY_ALL_ACCESS, &hKey ) == ERROR_SUCCESS )
      {
    	printf("Reussi \n");
        /*****Ouverture a réussi *****/
    
        if( RegSetValueEx(hKey,"path", 0, REG_SZ, path, lstrlen(path)) == ERROR_SUCCESS )
    	{
    
        /*****Modification réussi, Fermeture de la clé*****/
    
    		RegCloseKey( hKey );
    	}
      }
      else
    {
        printf("DOWN\n");
    }
    
       getchar();
    free(path);
    free(path_exec);
      return (EXIT_SUCCESS);
    }
    1) Ouverture de la clé de registre ne fonctionne pas
    2) La fonction attends un paramètre de type BYTE et la je sais pas trop,
    Byte = Char ou plutôt Byte = unsigned char;


    Merci pour votre aide.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    Résolu, par moi même.

Discussions similaires

  1. Problème pour définir une valeur dans la base des registres
    Par hellspawn_ludo dans le forum Dreamshield
    Réponses: 2
    Dernier message: 30/09/2007, 03h03
  2. Réponses: 32
    Dernier message: 07/04/2007, 00h46
  3. [vbs] récupérer une valeur dans la base de registre
    Par PiuPiu dans le forum VBScript
    Réponses: 2
    Dernier message: 22/12/2006, 18h04
  4. Retrouver une valeur ds la base de registre
    Par remi77 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 31/05/2006, 14h22
  5. Chercher une valeur dans la base de registre
    Par Sallie dans le forum MFC
    Réponses: 9
    Dernier message: 19/05/2006, 12h57

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