Encore des problemes avec le registre!! [C++] - Programmation
Marsh Posté le 10-12-2001 à 17:07:29
Si jamais j'utilise les fonction RegOpenKey et RegSetValueEx:
HKEY Hk1, Hk2;
long error;
Hk1 = HKEY_LOCAL_MACHINE;
error = RegOpenKey(Hk1, "SYSTEM\\Test", &Hk2);
RegSetValueEx(Hk2, "entry", 0, REG_SZ, (const BYTE *)"test", strlen("test" ));
RegOpenKey me fait l'erreur 87 et RegSetValueEx l'erreur 6
Marsh Posté le 10-12-2001 à 17:12:00
non en fait si je cree une clé ou une valeur dans SYSTEM moi même ca marche mais avec des clés existentes ca marche pas
Marsh Posté le 10-12-2001 à 17:17:24
Est-ce que tu as vu cela ?
Citation : The RegOpenKey function uses the default security access mask to open a key. If opening the key requires a different mask, the function fails, returning ERROR_ACCESS_DENIED. An application should use the RegOpenKeyEx function to specify an access mask in this situation. |
Marsh Posté le 10-12-2001 à 17:22:16
seblamb a écrit a écrit : Est-ce que tu as vu cela ?
|
Ouais j'ai essayé la fonction RegOpenKeyEx avec la permission KEY_ALL_ACCESS ca change rien
Marsh Posté le 10-12-2001 à 17:59:54
KEY_ALL_ACCESS donne tous les droits. Si le code d'erreur est ERROR_ACCESS_DENIED ça veut dire que tu ne peux pas tout faire avec ces clefs puisqu'elles sont gérées par le systeme.
Utilise la fonction FormatMessage ( regarde dans l'aide il y a un example)
Comme ça tu gagneras du temps puisque windows se donne la peine de fournir une explication
Marsh Posté le 11-12-2001 à 10:03:57
seblamb a écrit a écrit : KEY_ALL_ACCESS donne tous les droits. Si le code d'erreur est ERROR_ACCESS_DENIED ça veut dire que tu ne peux pas tout faire avec ces clefs puisqu'elles sont gérées par le systeme. Utilise la fonction FormatMessage ( regarde dans l'aide il y a un example) Comme ça tu gagneras du temps puisque windows se donne la peine de fournir une explication |
Non l'erreur n'est pas ERROR_ACCESS_DENIED FormatMessage me renvoie "paramètre incorrect" alors que pour certaines autres clé ca met "Opération réussie" et cela en utilisant les mêmes fonctions.
Marsh Posté le 14-12-2001 à 11:11:04
C'est très bizarre, maintenant ca marche mais j'ai dut remettre les chemins avec \ au lieu de \\, probleme que j'avais deja discuté dans ce sujet:
http://forum.hardware.fr/forum2.ph [...] &owntopic=
Donc maintenant ca marche tres bien c'est incompréhensible, si quelqu'un arrive a piger qu'il m'explique.
Marsh Posté le 14-12-2001 à 11:22:16
bizarre, parce que normalement pour faire un \ il faut bien mettre \\...
Marsh Posté le 10-12-2001 à 16:45:55
Je sais c'est le 1000eme poste que je met sur ce sujet Mais la j'en ai marre on dirait que tous ce qui est dans la subkey SYSTEM de H_L_M ne peut pas être modifié ni être supprimé que ce soit pour les clés que pour les valeurs. Ca me fait l'erreur 6 déclarée dans winerror.h. Par contre si je fais une manip dans la subkey SOFTWARE aucun problemes.