FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 15, nombre de questions : 269, dernière mise à jour : 10 septembre 2014  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireBase de registre sous Windows (4)
précédent sommaire suivant
 

Le module _winreg permet d'accéder aux bases de registre sous Windows. Vous trouverez dans la Python Library reference l'aide suffisante pour manipuler la base de registre.

Mis à jour le 10 octobre 2005 Guigui_

Pour créer une nouvelle clé au registre on utilise la méthode _winreg.CreateKey( key, sub_key)key est une clé déjà ouverte ou une constante HKEY_* prédéfinie et sub_key représente la sous-clé qui sera créée. Cette fonction retourne le handle de la clé ouverte.

Code python :
1
2
import _winreg 
key = _winreg.CreateKey(_winreg.HKEY_CURRENT_USER, 'Software\\MonProg')

Mis à jour le 10 octobre 2005 Guigui_

Pour supprimer une clé au registre on utilise la méthode _winreg.DeleteKey( key, sub_key)key est une clé déjà ouverte ou une constante HKEY_* prédéfinie et sub_key représente la sous-clé qui sera supprimée. Cette fonction ne peut pas supprimer une clé qui possède des sous-clés

Code python :
1
2
import _winreg 
_winreg.DeleteKey(_winreg.HKEY_CURRENT_USER, 'Software\\MonProg')

Mis à jour le 11 octobre 2005 Guigui_

Pour ouvrir une clé, on utilise la fonction _winreg.OpenKey( key, sub_key[, res = 0][, sam = KEY_READ])key est une clé déjà ouverte où une constante du type HREF_*, sub_key, la sous-clé à ouvrir, res un entier qui doit rester à 0 et sam un entier qui définit le masque d'accès. La constante KEY_SET_VALUE permettra de modifier la clé en question alors que KEY_READ ne permettra d'accéder à cette clé qu'en lecture seule. Cette fonction retourne le handle de la clé.

Pour lire une valeur, on utilise la fonction _winreg.QueryValueEx( key, value_name)key est une clé déjà ouverte et value_name le nom de la valeur à lire. Cette fonction retourne un couple où le premier élément est la valeur de la donnée et le deuxième un entier donnant le type de la donnée.

Code python :
1
2
3
4
5
import _winreg 
key = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, 'Software\\MonProg',0, _winreg.KEY_READ) 
(valeur,typevaleur) = _winreg.QueryValueEx(key,'MaDonnee') 
_winreg.CloseKey(key) 
print valeur, typevaleur
Pour modifier une valeur, on applique la fonction SetValueEx( key, value_name, reserved, type, value) sur la key précédente où value_name représente le nom de la valeur, reserved peut être n'importe quoi (c'est toujours 0 qui est transmis), type est un entier (dont les valeurs possibles sont données dans le tableau ci-dessous) représentant le type de la donnée et value la valeur de la donnée en question.

Code python :
1
2
3
4
import _winreg 
key = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, 'Software\\MonProg',0, _winreg.KEY_SET_VALUE) 
_winreg.SetValueEx(key, 'MaDonnee', 0, _winreg.REG_DWORD, 5) 
_winreg.CloseKey(key)
Constante Description
REG_BINARY Donnée binaire de n'importe quel forme
REG_DWORD Un nombre sur 32 bits
REG_DWORD_LITTLE_ENDIAN Un nombre sur 32 bits au format little-endian
REG_DWORD_BIG_ENDIAN Un nombre sur 32 bits au format big-endian
REG_EXPAND_SZ String référençant une variable d'environnement
REG_LINK Un lien symbolique
REG_MULTI_SZ Une séquence de string
REG_NONE Type sans valeur définie
REG_RESOURCE_LIST Une liste de ressources
REG_SZ Un string
Pour supprimer une valeur, on exécute la fonction _winreg.DeleteValue( key, value)

Code python :
1
2
3
4
import _winreg 
key = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, 'Software\\MonProg',0, _winreg.KEY_SET_VALUE) 
_winreg.DeleteKey(key, 'MaDonnee') 
_winreg.CloseKey(key)

Mis à jour le 10 octobre 2005 Guigui_

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
 
 
 
Partenaires

PlanetHoster
Ikoula