Bonjour,
tout est dans le titre, j'aimerais sauvegarder un chemin de fichier ou d'autre infomrations dans la base de registre cependant je ne sais absolument pas comment faire...
Bonjour,
tout est dans le titre, j'aimerais sauvegarder un chemin de fichier ou d'autre infomrations dans la base de registre cependant je ne sais absolument pas comment faire...
En API Win32: Renseigne-toi sur la fonction RegOpenKeyEx() et les fonctions qui vont avec.
En .Net : Aucune idée.
ok merci medinoc, c'est un début de piste.
bon alors j'ai avancé mais je rencontre un problémeje retrouve l'exception suivante :
L'exception semble être provoquer par cette ligne de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part "Impossible d'écrire dans la clé du Registre."
je vous montre ma méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part nk->DeleteValue(Key);
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 private: int ModifReg(String^ Key, String^ Value) { Microsoft::Win32::RegistryKey^ rk; rk = Microsoft::Win32::Registry::CurrentUser->OpenSubKey("Software", true); if (!rk) { MessageBox::Show("Failed to open CurrentUser/Software key","Information",MessageBoxButtons::OK); return -1; } Microsoft::Win32::RegistryKey^ nk; nk = rk->OpenSubKey(SOFTNAME); if (nk != nullptr) { try { nk->DeleteValue(Key); //nk->SetValue(Key,Value); } catch (Exception^ e) { MessageBox::Show("Modification non enregistrer\nAuthorisation insuffisante","Information",MessageBoxButtons::OK); return -1; } } return 0; }
- Essaie de trouver le type de l'exception (e->GetType()->FullName ou un truc du genre).
- Donc, tu appelles Key le nom de valeur ?
- DeleteValue envoie une ArgumentException si la valeur n'est pas trouvée. Lors de la création de la clé, elle ne contient aucune valeur...
1/
Voici le type d'exception :
"System.UnauthorizedAccessException"
2/
key est le nom de ma valeur et value la valeur de celle-ci
3/
La création de la clé se passe bien je peux creer la clé sans probléme et y mettre une valeur cependant c'est pour la modifier ou la supprmier que j'ai des problémes, et la msdn ne dit rien la-dessus (du moins j'ai rien trouver)...
salut,
il est possible que ça soit un probleme de droits d'accés....
verifie les droits d'acces avec regedt32.
Et pour les noms: Normalement, la convention, c'est "valeur" pour le nom de valeur et "données" pour son contenu...Envoyé par MSDN : [URL=http://msdn2.microsoft.com/en-us/library/microsoft.win32.registrykey.opensubkey.aspx]RegistryKey.OpenSubKey Method[/URL]
Le nom "clé" étant à réserver, ben... aux clés.
J'avais déjà penser à ça mais à premiére vue, j'utilise une session avec les droits administrateur, il n'y a qu'un seul utilisateur qui n'a pas les droits pour éffectuer les modifications sur le registre (sur 4). Il s'agit de "restricted"
Y a t'il un moyen de contrer ça?
et surtout comment savoir quel nom d'utilisateur utilise le programme?
Si ton user a déjà accès à la clé, ce n'est pas changer d'user qui résoudra le problème.
Mais si tu regardes le lien, tu verras plein d'overloads pour la fonction OpenSubKey(), et tous permettent de l'ouvrir en read/write...
c bon medinoc tu avais encore raison... :
Il fallait simplement que je precise a l'ouverture de ma clé que je voulais la modifier.
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager