FAQ Python
FAQ PythonConsultez toutes les FAQ
Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 14 juin 2021
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.
Pour créer une nouvelle clé au registre on utilise la méthode _winreg.CreateKey( key, sub_key) où 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.
import
_winreg
key =
_winreg.CreateKey
(
_winreg.HKEY_CURRENT_USER, 'Software
\\
MonProg'
)
Pour supprimer une clé au registre on utilise la méthode _winreg.DeleteKey( key, sub_key) où 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
import
_winreg
_winreg.DeleteKey
(
_winreg.HKEY_CURRENT_USER, 'Software
\\
MonProg'
)
Pour ouvrir une clé, on utilise la fonction _winreg.OpenKey( key, sub_key[, res = 0][, sam = KEY_READ])
où 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) où 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.
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.
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)
import
_winreg
key =
_winreg.OpenKey
(
_winreg.HKEY_CURRENT_USER, 'Software
\\
MonProg'
,0
, _winreg.KEY_SET_VALUE)
_winreg.DeleteKey
(
key, 'MaDonnee'
)
_winreg.CloseKey
(
key)