Tutoriel prog. base de registre

cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004 - 24 mai 2004 à 15:24
cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004 - 9 juin 2004 à 17:38
Bonjour a tous...
c'était juste pour vous demander si quelqu'un connais un bon livre ou un site ou je pourrais apprendre à programmer en c/c++ dans la base de registre.
je veut dire par la avec l'utilisation de trucs du genre :
RegOpenKeyEx... etc...
paske ca m'interresse vachement et j'y comprend pas grand chose :sad) (je maitrise quand meme le codage élémentaire en c/c++ , enfin tout ce qu'on apprends en cours).

Merci de me renseigner...

Tchao :approve)

9 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
24 mai 2004 à 17:22
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
24 mai 2004 à 18:17
voila ce que j'ai trouvé (vient d'un html de mon disc dur mais que j'ai pas retrouvé sur le net)

Description :
La Base est la base de données où les données de configuration sont stockées dans l'environnement Win32. Contrairement aux fichiers INI qui distribuent les informations entre plusieurs fichiers, les données de configuration du registre sont stockées ensemble. Le registre gère également les installations en réseau et permet aux utilisateurs individuels de stocker des priorités.

Quelques fonctions utiles :

RegCloseKey
ADVAPI32.DLL
Ferme l'handle d'une clé ouverte.
LONG RegCloseKey (HKEY hKey)
hKey : handle de la clé à fermer.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.

RegCreateKeyEx
ADVAPI32.DLL
Crée ou ouvre une sous-clé de la clé spécifié.
LONG RegCreateKeyEx(HKEY hKey, LPCTSTR lpszSubKey, DWORD dwReserved, LPTSTR lpszClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition)
hKey : handle d'une clé ouverte sous laquelle il faut créer la nouvelle clé, ou tout autre handle de clé prédéfini :


HKEY_CLASSES_ROOT
&H80000000


HKEY_CURRENT_USER
&H80000001


HKEY_LOCAL_MACHINE
&H80000002


HKEY_USERS
&H80000003


lpszSubKey : pointeur vers une chaine de caractères contenant le nom de la nouvelle sous-clé. Si la sous-clé existe déjà, elle est ouverte.
dwReserved : définir cette valeur sur NULL.
lpszClass : pointeur vers une chaine de caractères contenant le nom de classe de la clé. Si la clé existe déjà, on ignore ce paramêtre.
dwOptions : options de stockage spécial associées à la clé.


REG_OPTION_NON_VOLATILE = 0
Les données sont enregistrées sur le disque.


REG_OPTION_VOLATILE = 1
Les données sont volatiles (ne sont pas enregistrées sur le disque). Quand le système redémarre les données sont perdues.


samDesired : options d'accès aux clés.


KEY_QUERY_VALUE = &H1
Autorise la requête de valeurs de sous-clés.


KEY_SET_VALUE = &H2
Autorise l'écriture les valeurs de sous-clés.


KEY_CREATE_SUB_KEY = &H4
Autorise la création de sous-clés.


KEY_ENUMERATE_SUB_KEYS = &H8
Autorise l'énumération de sous-clés.


KEY_NOTIFY = &H10
Autorise les notifications de modification.


KEY_CREATE_LINK = &H20
Autorise la création de lien symboliques à d'autres sous-clés.


KEY_ALL_ACCESS = &3F
Accès en contrôle total.


lpSecurityAttributes : pointeur vers une structure SECURITY_ATTRIBUTES qui spécifie les attributs de sécurité par défaut.
phkResult : pointeur vers l'emplacement recevant l'handle de la nouvelle sous-clé. lpdwDisposition : pointeur vers une valeur de disposition indiquant si la sous-clé a été créée (REG_CREATED_NEW_KEY &H1) ou si une sous-clé existante a été ouverte (REG_OPENED_EXISTING_KEY &H2) .
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.


RegDeleteKey
ADVAPI32.DLL
Supprime une sous-clé d'une clé donnée.
LONG RegDeleteKey (HKEY hKey, LPCTSTR lpszSubKey)
hKey : handle d'une clé ouverte ou tout autre handle de clé prédéfini.
lpszSubKey : pointeur vers une chaine de caractères contenant le nom de la sous-clé à supprimer. La clé spécifiée ne doit pas posséder de sous-clé.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.



RegDeleteValue
ADVAPI32.DLL
Supprime une valeur d'une sous-clé de registre.
LONG RegDeleteValue (HKEY hKey, LPTSTR lpszValuename)
hKey : handle d'une clé ouverte ou tout autre handle de clé prédéfini.
lpszValuename : pointeur vers une chaine de caractères contenant le nom de la valeur à supprimer. Définie sur NULL, la valeur par défaut est supprimée.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.


RegEnumKeyEx
ADVAPI32.DLL
Enumère les sous-clés d'une clé.
LONG RegEnumKeyEx (HKEY hKey, DWORD dwSubkey, LPTSTR lpszName, LPDWORD lpcdwName, LPDWORD lpdwReserved, LPTSTR lpszClassName, LPDWORD lpcdwClassName, PFILETIME pftLastChanged)
hKey : handle d'une clé ouverte ou tout autre handle de clé prédéfini.
dwSubkey : compteur de sous-clé à atteindre. Pour accéder à la première sous-clé, réglez le compteur sur 0. Pour énumérer l'arbre de sous-clé, incrémenter le compteur avant chaque appel jusqu'à ce que soit communiqué ERROR_NO_MORE_ITEMS (259&).
lpszName : pointeur vers un tampon recevant le nom de sous-clé énumérée.
lpcdwName : pointeur vers une valeur DWORD contenant la taille du tampon lpszName.
lpdwReserved : réservé aux futures implémentations. Définir cette valeur sour NULL.
lpszClassName : pointeur vers un tampon recevant le nom de classe de la sous-clé.
lpcdwClassName : pointeur vers une valeur DWORD contenant la taille du tampon lpszClassName.
pftLastChanged : pointeur vers un champs recevant la date et l'heure de la dernière écriture de sous-clé.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur. Si le code est ERROR_NO_MORE_ITEMS, il n'y a plus de sous-clés pour la touche donnée.


RegEnumValue
ADVAPI32.DLL
Enumère les valeurs d'uné sous-clé.
LONG RegEnumValue (HKEY hKey, DWORD dwValueIndex, LPTSTR lpszValue, LPDWORD lpcdwValue, LPDWORD lpdwReserved, LPDWORD lpdwType, LPBYTE lpDataBuffer, LPDWORD lpcdwDataBuffer)
hKey : handle d'une clé ouverte ou tout autre handle de clé prédéfini.
dwValueIndex : compteur de la valeur à énumérer. Pour accéder à la première valeur, réglez le compteur sur 0. Incrémenter le compteur avant chaque appel, pour énumérer les autres valeurs jusqu'à ce que soit communiqué ERROR_NO_MORE_ITEMS (259&).
lpszValue : pointeur vers le tampon recevant le nom de la valeur.
lpdwValue : pointeur vers une valeur DWORD spécifiant le nombre d'octets, requise pour être stockée dans lpszValue dès son retour. Après l'appel, on obtient le nombre d'octets véritablement stocké.
lpdwReserved : réservé aux futures implémentations. Définir cette valeur sour NULL.
lpdwType : pointeur vers une valeur DWORD recevant le type de données de la valeur.


REG_NONE = 0
Type non défini.


REG_SZ = 1
Chaine se terminant par NULL.


REG_EXPAND_SZ = 2
Chaine se terminant par NULL contenant des références non-étendues aux variables de l'environnement (par exemple %PATH%).


REG_BINARY = 3
Données binaires sous une forme quelconque.


REG_DWORD = 4
Nombre en 32 bits sous format natif.


REG_LINK = 6
Lien symbolique à une autre clé.


REG_MULTI_SZ = 7
Liste de chaines se terminant par NULL avec un caractère de fin NULL supplémenataire.


lpDataBuffer : pointeur vers un tampon recevant le contenu de la valeur.
lpcdwDataBuffer : pointeur de valeur DWORD contenant le nombre d'octets dans le tempon lpDataBuffer.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur. Si le code est ERROR_NO_MORE_ITEMS, il n'y a plus de sous-clés pour la touche donnée.

RegFlushKey
ADVAPI32.DLL
Ecrit immédiatement les modifications de registre.
LONG RegFlushKey (HKEY hKey)
hKey : handle de la clé à vider dans le disque ou tout autre handle de clé prédéfini.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.ERROR_NO_MORE_VALUES est communiquée quand il n'y a plus de valeur pour la sous-clé donnée.


RegOpenKeyEx
ADVAPI32.DLL
Ouvre une sous-clé de registre.
LONG RegOpenKeyEx (HKEY hKey, LPCTSTR lpszSubKey, DWORD dwReserved; REGSAM samDesired, PHKEY phkResult)
hKey : handle de la clé qui est la touche parent de la sous-clé à ouvrir.
lpszSubKey : pointeur vers une chaine de caractères contenant le nom de la sous-clé à ouvrir.
dwReserved : réservé. Défini sur zéro.
samDesired : masque de sécurité (voir la fontion Erreur! Signet non défini.).
phkResult : pointeur d'un emplacement où l'handle de la clé est stocké.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.


RegQueryValueEx
ADVAPI32.DLL
Communique une valeur nommée de sous-clé.
LONG RegQueryValueEx (HKEY hKey, LPCTSTR lpszSubKey, LPTSTR lpszValueName, LPDWORD lpdwReserved, LPDWORD lpdwType, LPBYTE lpData, LPDWORD lpdwcData)
hKey : handle de la sous-clé à consulter ou tout autre handle de clé prédéfini.
lpszSubKey : pointeur vers une chaine de caractères contenant le nom de la clé dont la valeur est demandée.
lpszValueName : pointeur vers une chaine de caractère contenant le nom de la valeur à lire.
lpdwReserved : réservé. Défini sur NULL.
lpdwType : type de données stockées dans la valeur (voir la fonction Erreur! Signet non défini.)
lpData : pointeur vers le tampon recevant les données stockées dans la valeur.
lpdwcData : pointeur vers un DWORD contenant le nombre d'octets disponibles dans le tempon lpData. Après l'appel, le système définit le contenu sur le nombre d'octets véritablement copiés.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.


RegSetValueEx
ADVAPI32.DLL
Attribue une valeur à une sous-clé de registre.
LONG RegSetValueEx (HKEY hKey, LPCTSTR lpszValueName, DWORD dwReserved, DWORD dwDataType, CONST BYTE* lpData, DWORD dwBytes)
hKey : handle de la clé parent de la sous-clé dont la valeur est à définir ou tout autre handle de clé prédéfini.
lpszValueName : pointeur vers une chaine de caractères contenant le nom de la valeur dont les données sont à définir.
dwReserved : réservé. Défini sur zéro.
dwDataType : type de données à stocker (voir la fonction Erreur! Signet non défini.)
lpData : pointeur vers les données à stocker dans la valeur.
dwBytes : longueur de données à stocker.
Code de retour : ERROR_SUCCESS est retourné en cas de succès ; dans le cas contraire, la fonction transmet un code d'erreur.




* RegFlushKey : La fonction RegFlushKey() commande au système d'écrire immédiatement sur le disque la clé spécifiée et toutes ses sous-clés et valeurs. Appelez cette opération seulement si une application nécessite l'écriture immédiatement des mises à jour devant immédiatement être écrites. Par défaut, le système vide les modifications du registre sur le disque après chaque fermeture d'une clé et avant d'éteindre, mais le système de registre utilise des tampons optimisés afin que les modifications ne soient pas immédiatement écrites. Une utilisation excessive de cette fonction peut nuire aux performances du système
0
cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004
25 mai 2004 à 14:49
Je vous remercie de vos conseils en espérant progresser...
0
stequer Messages postés 51 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 13 janvier 2006
8 juin 2004 à 11:53
cando y ment je suis en cours avec lui il est fin nul mais il progresse un peu quand mème aler cando tu va y arriver

:-)
0

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

Posez votre question
cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 09:00
Steq c'est toi k'est fin nul, faut bien se spécialiser dans un truc, c'est pas en faisant un projet hello world ke t'est un programmeur... lol aller a samedi prochain
0
stequer Messages postés 51 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 13 janvier 2006
9 juin 2004 à 09:45
c moi le nul jeremy tu peux me passer le prog du tp vas y passe moi; les algo du mimi un super site J.candolini.free.fr il marche pas en mozila c normal c cando qui la faits
0
cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 10:58
m'en fous de modzilla, mon site il est pas programmé pour marcher sous linux, nous n'avons pas les mêmes valeur...
0
stequer Messages postés 51 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 13 janvier 2006
9 juin 2004 à 11:42
je te parle de mozila 1.7 windows XP pas linux mais remarque sa marche autant sous linux c normal c cando ;-)
0
cando666 Messages postés 6 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 17:38
Bon, ok, ce site n'est pas tout récent, MAIS une mise à jour majeure va etre effectuée durant juillet... un renouveau total, une nouvelle jeunesse !!! Je vous invite donc tous à me rejoindre sur mons site : http://j.candolini.free.fr et à me faire part de vos idées... merci

ps: ne laissez pas de message sur le forum, il marche pas lol ;)
0
Rejoignez-nous