Le 13/11/2013 21:53, informatique a écrit :
Bonjour,

je souhaiterais vérifier en python l'existance d'une clé de registre.
Il n'y a pas de fonction toute faite.

une fonction comme :
def registry_keyexists(root=HKEY_LOCAL_MACHINE,path='Software'):
    try:
        reg_openkey_noredir(root,path)
        return True
    except WindowsError as e:
        if e.errno == 2:
            return False
        else:
            raise


doit faire l'affaire

pour tester :
if registry_keyexists(path='Software\\Microsoft\\Office\\12.0'):
   <command>

le premier paramètre root est l'une des constantes :
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
ce n'est pas une chaine de caractères.

le deuxième paramètre est une chaine avec le chemin.
attention suivant que la machine est en 64 bits ou en 32 bits, le chemin peut être différent (Software\\Wow6432Node\\... pour une appli 32 bits sur un système 64 bits)

(btw... on va inclure un fonction de ce type par défaut...)

Hubert Touvet

Est-ce que la fonction du setuphelpers registry_readstring(root,path,keyname,default='') est la bonne ? Si oui comment l'utiliser ?

Pour la clé [HKEY_CURRENT_MACHINE\Software\Microsoft\Office\12.0] :

if registry_readstring('HKEY_CURRENT_ MACHINE','Software\\Microsoft\\Office\\12.0','','') <> '' :
        <command>

Merci.

Sébastien JOUSSEMET



_______________________________________________
WAPT mailing list
WAPT@lists.tranquil.it
http://lists.tranquil.it/listinfo/wapt