begin process at 2012 05 30 16:15:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

registre chez vista ou windows 7


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

registre chez vista ou windows 7

lundi 31 mai 2010 à 12:32:58 | registre chez vista ou windows 7

baby3378

Bonjour à tous,
Voila, j'ai un problème pour écrire dans la base de registre. J'ai crée un petit ensemble d'outils qui doivent démarer avec windows. J'ai donc eu besoin d'inscrire dans le registre une clée permettant le chargement de mon programme dès le démarage de windows



Le code de ma fonction :

Code C/C++ :
void registre()
{
HKEY hk; 
DWORD dwData; 

 char szBuf[]= "C:\\WINDOWS\\gadget.exe ";

RegCreateKeyEx ( HKEY_LOCAL_MACHINE, //on définit l'emplacement 
"Software\\Microsoft\\Windows\\CurrentVersion\\Run\\", 
0, //réservé 
NULL, //par défaut 
REG_OPTION_NON_VOLATILE, /*la clé est gardée en mémoire, même après redémarrage*/ 
KEY_WRITE, //permet de stocker des valeurs futures 
NULL, //niveau de sécurité par défaut 
&hk, //enregistrement de l'emplacement dans la variable hk 
&dwData); //pointeur sur une variable 
  
RegSetValueEx(hk, /*emplacement de la clé hk définit dans RegCreateKeyEx*/ 
"utilitairegadget", //nom de la chaîne (ici ZB) 
0, //obligatoirement zéro 
REG_SZ, //type de valeur (ici, une chaîne) 
(LPBYTE) szBuf, //pointeur sur la valeur à ajouter 
strlen(szBuf)); //longueur de la valeur
}



Avec des systemes comme windows XP ce code fonctionne à merveille. Mais lorsque je l'execute sur windows vista ou windows 7 rien ne se passe :-(


J'ai biensur pensé à un problème d'autorisation: Dans ce cas, comment faire pour s'accorder le droit de telles action sur le registre sachant que je dispose biensur du mot de passe administrateur.

J'ai même essayé de le faire par un fichier .reg:

Code ActionScript :
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"gadget"="C:\Windows\gadget.exe"



Aucun problème ne m'est affiché mais je n'arrive pas à trouver cette clée avec regedit.


Voila, je suis preneur de toutes astuces/idées.
Je vous remercie d'avance et vous souhaite une bonne journée :-)
lundi 31 mai 2010 à 14:07:15 | Re : registre chez vista ou windows 7

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
MSDN RegCreateKeyEx
Il y a un lien vers les explications: "Registry Virtualization".

ciao...
BruNews, MVP VC++
mardi 1 juin 2010 à 18:49:25 | Re : registre chez vista ou windows 7

baby3378

Merci pour l'indication, malheureusement je me débrouille assez mal en anglais :s.

J'ai vu qu'il y avait un problème de virtualisation au niveau de la base de registre sensible mais comment surpasser cet obstacle?
Existerait-il un exemple qui utilise un parade à celà ?
mardi 1 juin 2010 à 20:57:20 | Re : registre chez vista ou windows 7

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Regarde le flag d'ouverture REG_KEY_DONT_VIRTUALIZE.
Indispensable pour HKLM et droits administrateurs.

ciao...
BruNews, MVP VC++
mercredi 2 juin 2010 à 19:45:46 | Re : registre chez vista ou windows 7

baby3378

Réponse acceptée !
Merci BruNews mais j'ai eu trop de difficultés à trouver, ca doit pourtant être évident et facile à trouver mais je ne doit pas être assez observateur.

J'ai trouvé ça, et ça a l'air de marcher :
Code C/C++ :
RegCreateKeyEx( HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\run",0,"", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, & SecAtt, &Retour, &Action);



Voilà si vous connaissez mieux et qui puisse éviter les avertissement intempestifs des logiciels de protection .. je suis preneur :-)


Cette discussion est classée dans : code, windows, vista, registre, hk


Répondre à ce message

Sujets en rapport avec ce message

Registre ou API windows [ par Will ] Je souhaite recuperer les infos d'un pc (c a d la carte reseau, la carte son, le type de clavier etc...).Que dois-je utiliser, la base de registe wind Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient application windows [ par scull ] Slt, voilà j'arrive à faire quelques petit programmes en c++et je voudrais savoir comment porter mon application suivante (toute bidon)#include <iostr Manipulation de la base de registre [ par yserver ] Mon pb est pour ecrire des clefs ds la base de registe. Il s'agit de plusieurs types different il uy en a en tout 26. J'ai donc utilise un tableau de Fenetre windows [ par casafa ] Bonjour,Voici un bout de code de ma fenêtre Windows:WNDCLASSEX wincl;wincl.style = CS_OWNDC | CS_DBLCLKS ;J'aimerais savoir à quoi C ou dans la base de registre???? [ par VTS_35 ] Bonjour, je dois lancer des scripts ImageTool avec mon programme, scripts qui sont éxécutés par défaut sous windows. Or, quand je me sers d'une comanc [registre] lancez un programme au demarrage [ par lombredudragon ] bonjour je debute en c++ , j'ai fait une recherche sur le site et j'ai trouver ce bout de code pour ecrire dans le registre:#include <br Portage de code qui a été dévellopé sous Windows, sous Linux [ par petitponch ] Bonjour, Je dois porter du code écrit par quelqu'un d'autre que moi sous Windows, et je dois le faire marcher sous Linux. Le problème concerne  la par Registre windows en lecture [ par shadow1779 ] Bonjour,j'aimerai de l'aide si possible sur le registre windows j'arrive a creer une clé , ou l'ouvrir, a en supprimer une... etc mais pas a lire une Clé dans base de registre [ par algori ] Bonjour,J'aimerais savoir s'il est possible d'avoir un code plus court que celui-ci pour écrire une clé dans le registre sous Dev C++.HKEY hk;DWORD dw


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales