Ecrire dans le registre windows 7 en c

Résolu
kirbydu94 Messages postés 3 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 22 octobre 2011 - 19 oct. 2011 à 04:11
kirbydu94 Messages postés 3 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 22 octobre 2011 - 22 oct. 2011 à 02:00
Bonjour,

je souhaiterais développer un logiciel me permettant d'écrire dans le registre en c.
Cependant j'aimerais écrire dans le répertoire précis
//HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Voici mon code source:

HKEY key;
TCHAR s[] = TEXT("monProg.exe");
RegCreateKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, NULL, 0, KEY_ALL_ACCESS, NULL,&key, NULL );
RegSetValueEx(key, TEXT("index"), 0, REG_SZ, (LPBYTE)s, (DWORD)sizeof(s)/sizeof(s[0]));
RegCloseKey(key);

Comme vous le voyez ce code me permetterais de lancer le programme monProg.exe au démarrage. Je compile, le logiciel se lance correctement mais quand j'ouvre le registre manuellement rien n'a changer dans le répertoire //HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Je demande donc votre aide pour savoir si ce que je demande est possible.
J'ai lu sur le net que cela venait des droits.

Pouvez vous donc m'aidez a résoudre mon problème?

Merci

5 réponses

kirbydu94 Messages postés 3 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 22 octobre 2011
22 oct. 2011 à 02:00
Je suis effectivement en version 64bits mais j'ai rempli mon but de départ : je lance mon prog.exe au démarrage de windows mais seulement l'utilisateur courant mais ça me convient . Merci pour votre aide. BruNes c'est quoi Registry Virtualization ?Ca se trouve où (si j'ai le temps je jeterai un coup d'oeil).
3
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
19 oct. 2011 à 09:04
Bonjour,
En premer lieu tu peux récupérer les erreurs retournées par les fonctions RegCreateKeyEx et suivantes afin de confirmer tes soupçons.
Quelques idées sur cette page :
http://social.msdn.microsoft.com/Forums/en-AU/windowscompatibility/thread/073349b1-0f29-41ef-aaab-dbb262d52457

Bon codage.


louis
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 oct. 2011 à 11:21
Commence par lancer ton prog en mode ADMIN, c'est le minimum pour écrire sur HKLM.

ciao...
BruNews, MVP VC++
0
kirbydu94 Messages postés 3 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 22 octobre 2011
21 oct. 2011 à 02:23
Je lance justement mon programme avec les droits administrateur.

J'ai déjà essayer la fonction RegCreateKeyEx sur le répertoire HKEY_CURRENT_USER et ça passait sans soucis. Mais quand je le fais sur HKEY_LOCAL_MACHINE la il y a soucis .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
21 oct. 2011 à 09:18
Tu ne serais pas en 64 bits ?
Regarde "Registry Virtualization".

ciao...
BruNews, MVP VC++
0
Rejoignez-nous