[C++] Encore des problemes avec le registre!!

Encore des problemes avec le registre!! [C++] - Programmation

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.

Reply

Marsh Posté le 10-12-2001 à 16:45:55   

Reply

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

Reply

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

Reply

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.

Reply

Marsh Posté le 10-12-2001 à 17:22:16    

seblamb a écrit a écrit :

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.

 




 
Ouais j'ai essayé la fonction RegOpenKeyEx avec la permission KEY_ALL_ACCESS ca change rien

Reply

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

Reply

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.

Reply

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.

Reply

Marsh Posté le 14-12-2001 à 11:22:16    

bizarre, parce que normalement pour faire un \ il faut bien mettre \\...

Reply

Sujets relatifs:

Leave a Replay

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