Python _winreg

JunKy Ripper Messages postés 211 Statut Membre -  
 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 !

2 réponses

  1. JunKy Ripper Messages postés 211 Statut Membre 23
     
    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é")
    0
  2. sebsauvage
     
    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.
    0