Accueil > Forum > > > > RegSaveKeyEx
RegSaveKeyEx
jeudi 17 juin 2010 à 19:10:09 |
RegSaveKeyEx

PriMe2302
|
Bonjour,
Je voudrais sauvegarder un clé registre ainsi que toutes ses sous-clé.
En faisant une recherche sur le site de msdn, j'ai fait ce code :
if(RegOpenKeyEx(HKEY_CURRENT_USER,L"Software\\Microsoft",0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegSaveKeyEx(hKey,L"Save.reg",NULL,REG_STANDARD_FORMAT)==ERROR_SUCCESS)
RegCloseKey(hKey);
}
Le fichier Save.reg est bien créé, mais il fait 0 octet, n'est pas fusionnable avec le registre et est vide lorsque je l'édite avec le bloc note.
une idée d'où vient le problème?
Merci.
|
|
jeudi 17 juin 2010 à 21:04:23 |
Re : RegSaveKeyEx

BruNews
|
Tu as bien mis le privilège SE_BACKUP_NAME sur ton processus ?
RegCloseKey(hKey);
n'a pas a être dépendant de la réussite ou non de RegSaveKeyEx mais de RegOpenKeyEx.
Faut faire gaffe à ne pas recopier nimporte comment les exemples du web, IL FAUT LIRE MSDN !!!
Les fonctions REGxxx réussissent si elles retournent 0 !!!
ciao...
BruNews, MVP VC++
|
|
jeudi 17 juin 2010 à 21:38:22 |
Re : RegSaveKeyEx

racpp
|
Salut,
Effectivement, MSDN précise bien que le process appelant RegSaveKeyEx() doit avoir le privilège SE_BACKUP_NAME. Voici un exemple simple permettant de donner ce privilège au process courant:
Code C/C++ : HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_BACKUP_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
CloseHandle(hToken);
RegSaveKeyEx() échoue également quand le fichier donné en 2ème paramètre existe déjà.
|
|
samedi 19 juin 2010 à 02:26:41 |
Re : RegSaveKeyEx

PriMe2302
|
Merci mon fichier Save.reg fait maintenant quelque kilo mais je ne peux pas le fusionner, et lorsque je l'édite j'ai plein de caractères spéciaux :
Widt ztestÿÿÿ8ÿÿÿsk x x ¬ ¤¤ l $ ? QCsµˆb®úWé ? ? QCsµˆb®úW àÿÿÿvk ¤1 1 in @ àÿÿÿvk ¤ 2idthndiðÿÿÿ@ h h
voici mon nouveau code :
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_BACKUP_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
CloseHandle(hToken);
HKEY hKey;
if(RegOpenKeyEx(HKEY_CURRENT_USER,L"Software\\Microsoft",0,KEY_ALL_ACCESS,&hKey)==ERROR_SUCCESS)
{
if(RegSaveKeyEx(hKey,L"Save.reg",NULL,REG_STANDARD_FORMAT)==ERROR_SUCCESS);
RegCloseKey(hKey);
}
|
|
samedi 19 juin 2010 à 21:23:05 |
Re : RegSaveKeyEx

racpp
|
Le format du fichier reg créé avec RegSaveKeyEx() n'est pas fait pour être édité dans le bloc-notes. Ce fichier est utilisable avec RegLoadKey() ou RegRestoreKey(). Je pense que ce n'est pas très dur de faire ce que tu veux simplement en énumérant les sous-clés de ta clé principale puis récupérer toutes les chaines avec leurs types et valeurs pour tout sauvegarder dans un fichier texte conforme au format reg éditable.
Voici la page MSDN sur les fonctions de la base de registres:
http://msdn.microsoft.com/en-us/library/ms724875%28v=VS.85%29.aspx
|
|
dimanche 20 juin 2010 à 01:19:51 |
Re : RegSaveKeyEx
|
Cette discussion est classée dans : reg, registre, clé, hkey, regsavekeyex
Répondre à ce message
Sujets en rapport avec ce message
[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
ecrire une valeur dans la base de registre [ par yerosnimus ]
bonjour,en dépit de toute la littérature trouvée sur ce site concernant l'écriture de clé dans la base de registre windows, je n'y arrive pas ou pas t
ecrire base de registre [ par crogger ]
Bonjour, je cherche à inscrire des valeurs dans la base de registre, j'ai bien trouvé cette solution :const String RegKey = "\\Software\\Exemple";
creer une clé de registre en C [ par shadow1779 ]
Bonjour, j'ai trouvé ca sur msdn pour creer une clé de registre en C, cepandant je n'ai vraiment pas compris donc si quelqu'un pouvait me le refaire a
Exporter une clé de registre [ par fannylapo ]
Bonjour,J'ai un problème et j'aurais besoin d'être rapidement.Je désire exporter une clé de registre vers un .reg dans un dossier. Je code en MFC en u
[GCC] clé registre: suppression [ par badboy38 ]
Bonjour,Je cherche comment supprimer une clé registre en C, mais je ne trouve rien (du moins à mon niveau....) J'ai cru comprendre qu'il fallait regis
créer un clé registre (dword) [ par cddvdcopy ]
voila mon probleme (j'utilise dev-C++) je voudrai creer une clé registre elle se situera ici : HKCU\Software\monlogiciel le repertoire "monlogiciel" e
probleme création d'une clé de registre [ par stefbuet ]
Salut, en regardant les sources du site, j'ai réussi à extraire un pti bou de code mais sa ne marche pas completement:en effet, le chemin mycompagny/m
Le béaba... [ par babaslow ]
Bonjour,J'ai une question toute "conne" à poser. Voilà : j'essaie d'écrire le plus simplement du monde une clé en DWORD comme ceci : HKEY hkey;
démarrage automatique avec windows [ par ndubien ]
Bonjour,Comment faire pour que mon programme se lance au démarrage de windows et celà à partir du registre?Quelle clé créer? Avec quelle nom? Quelle v
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|