Python _winreg
JunKy Ripper
Messages postés
211
Date d'inscription
Statut
Membre
Dernière intervention
-
sebsauvage -
sebsauvage -
Bon j'ai un petit problème d'utilisation du module _winreg.
Je n'arrive pas a m'en servir. Voici le code.
import _winreg
regDB = _winreg.ConnectRegistry (None, _winreg.HKEY_LOCAL_MACHINE)
try:
regKey = _winreg.OpenKey (regDB, "SOFTWARE\...")
dllPath = _winreg.QueryValueEx (regKey, "home")
except EnvironmentError:
print "erreur"
Bien sur les ... c'est la suite de ma clef.
Si qq1 voit d'ou vien le problème .... Ca fait bien 2h que je suis dessus.
Merci !
Je n'arrive pas a m'en servir. Voici le code.
import _winreg
regDB = _winreg.ConnectRegistry (None, _winreg.HKEY_LOCAL_MACHINE)
try:
regKey = _winreg.OpenKey (regDB, "SOFTWARE\...")
dllPath = _winreg.QueryValueEx (regKey, "home")
except EnvironmentError:
print "erreur"
Bien sur les ... c'est la suite de ma clef.
Si qq1 voit d'ou vien le problème .... Ca fait bien 2h que je suis dessus.
Merci !
2 réponses
C'est bon j'ai trouvé si il y en a que ca interrese.
regKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\...")
dllPath = _winreg.QueryValueEx (regKey, "clé")
regKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\...")
dllPath = _winreg.QueryValueEx (regKey, "clé")
Petite remarque en passant:
A propos, il est préférable d'utiliser RegOpenKeyEx plutôt que OpenKey.
(Sous NT/2000/XP, l'utilisateur peut très bien avoir accès à une partie de la base de registre en lecture seule, or le OpenKey ouvre par défaut en lecture/écriture => risque d'échec).
Je préfère ouvrir explicitement en lecture seule:
import win32api, win32con
regkey = win32api.RegOpenKeyEx( win32con.HKEY_LOCAL_MACHINE, 'SOFTWARE\\...', 0, win32con.KEY_READ )
(value,keytype) = win32api.RegQueryValueEx(regkey, 'clé' )
ça évite de faire un script sous 9x ou NT (en admin) qui va ensuite échouer sur les postes utilisateur.
A propos, il est préférable d'utiliser RegOpenKeyEx plutôt que OpenKey.
(Sous NT/2000/XP, l'utilisateur peut très bien avoir accès à une partie de la base de registre en lecture seule, or le OpenKey ouvre par défaut en lecture/écriture => risque d'échec).
Je préfère ouvrir explicitement en lecture seule:
import win32api, win32con
regkey = win32api.RegOpenKeyEx( win32con.HKEY_LOCAL_MACHINE, 'SOFTWARE\\...', 0, win32con.KEY_READ )
(value,keytype) = win32api.RegQueryValueEx(regkey, 'clé' )
ça évite de faire un script sous 9x ou NT (en admin) qui va ensuite échouer sur les postes utilisateur.