base de registre

base de registre - C - Programmation

Marsh Posté le 10-04-2006 à 16:13:54    

salut,
 
je n'arrive pas a ecrire dans la base de registre.
J'utilise le code suivant :
 

Code :
  1. //----------------------------------------------------------------------
  2. //BASE DE REGISTRE
  3. //----------------------------------------------------------------------
  4. struct HKEY__ *hKey;
  5. DWORD hKeyResult;
  6. RegCreateKeyEx(HKEY_CURRENT_USER,
  7.               "\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",
  8.               0,
  9.               0,
  10.               REG_OPTION_NON_VOLATILE,
  11.               KEY_ALL_ACCESS,
  12.               0,
  13.               &hKey,
  14.               &hKeyResult);
  15.              
  16. RegCloseKey(hKey);             
  17.              
  18. GetWindowsDirectory(WinDir, MAX_PATH);
  19. strcat(WinDir,"\\init.exe" );
  20. char *KeyValue= WinDir;
  21. RegSetValueEx(hKey,"launch",0,REG_SZ,(BYTE*)KeyValue,sizeof(KeyValue)+2);


Lorsque je verifie si la clef "launch" est créée dans la base de registre je ne vois rien.
Impossible donc de lancer mon programme a chaque demarrage.
 
Quelqu'un peut il m'aider ?


Message édité par Iscream le 10-04-2006 à 16:14:44
Reply

Marsh Posté le 10-04-2006 à 16:13:54   

Reply

Marsh Posté le 10-04-2006 à 16:21:56    

Je sais pas si tu sais mais les fonctions renvoient (souvent?) des valeurs indiquant ou non le succes de l'operation.
Que disent donc les valeurs de retour de RegCreateKeyEx et RegSetValueEx?

Reply

Marsh Posté le 10-04-2006 à 17:16:11    

oui
Merci, en fait RegSetValueEx ne renvoyait pas ERROR_SUCCESS.
C'est un peu normal car il ne fallait pas fermer le cley avant d'appeler la fonction de remplissage.
 

Reply

Marsh Posté le 11-04-2006 à 13:08:10    

Iscream a écrit :

C'est un peu normal car il ne fallait pas fermer le cley avant d'appeler la fonction de remplissage.


He oui bien vu !  :D
 
Sinon la variable KeyValue ne ferait elle pas double emploi avec WinDir ?


Message édité par slash33 le 11-04-2006 à 13:09:30
Reply

Marsh Posté le 12-04-2006 à 13:21:42    

ma fois oui, j'aime faire des choses inutiles apparemment.
Merci, j'enleve ca ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed