RegSetValueKeyEx help!!

julow Messages postés 2365 Statut Membre -  
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
je tente de modifier une valeur de clés dans la base de registre de Windows mais je comprends pas comment utiliser cette fonction!

J'ai déjà fait un RegOpenKeyEx pour ouvrir ma clés et maintenant il faut que j'en change une valeur.
Cette valeur est de type REG_SZ. Le truc c'est que je comprends pas comment mettre la valeur par laquelle je veux que l'ancienne soit changé... J'ai été sur MSDN mais sans exemple clair je n'y arrive pas!
Je développe en C.

Quelqu'un peut il m'aider??

1 réponse

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Tu veux dire RegSetKeyValue ?

Voici l'en-tête:
LONG WINAPI RegSetKeyValue(
  __in      HKEY hKey,
  __in_opt  LPCTSTR lpSubKey,
  __in_opt  LPCTSTR lpValueName,
  __in      DWORD dwType,
  __in_opt  LPCVOID lpData,
  __in      DWORD cbData
);


hKey peut prendre une des constantes comme HKEY_CURRENT_USER par exemple, en ce cas dans lpSubKey tu mets tout le reste du chemin vers la clé (en chaine de caractère).
Mais tu peux y mettre ton handle renvoyé par RegOpenKeyEx, et donc là tu as dû ouvrir déjà la sous-clé, donc mettre NULL dans lpSubKey.

lpValueName c'est le nom de la valeur que tu as créée ou que tu vas modifier, c'est une chaine de caractère.

dwType => REG_SZ ;-)
lpData => ta valeur (une chaine de caractère)
cbData => la taille de ta chaine (+1 pour le caractère de fin de chaine).

Exemple sachant que tu as déjà ouvert ta clé et que dans l'entrée machin, tu veux mettre "prout":
RegSetKeyValue(tonHandle, NULL, "machin", REG_SZ, "prout", strlen("prout") + 1);
1
julow Messages postés 2365 Statut Membre 244
 
Puis je t'envoyer mon code par MP, ce projet étant développé en stage je pense que je n'ai pas le droit de publier le code au public. Si cela ne te dérange pas car je ne m'en sort pas.... Noob en C dans la place!
0
kilian Messages postés 8854 Statut Modérateur 1 526 > julow Messages postés 2365 Statut Membre
 
Bon ok :-)
0