Bonjour a tous,

Je suis en train de créer un script python qui doit changer les clés dans la base de registre de windows.
pour cela j'utilise _winreg

j'arrive assez bien a utiliser ce module, sauf pour une clé que je dois ajouter.

Cette clé est de type REG_DWORD est doit avoir comme valeur 0x80000001, donc mon code est :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
            key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE,'CheminDeMaClé',0,_winreg.KEY_SET_VALUE)
            _winreg.SetValueEx(key,'HKeyRoot',0,_winreg.REG_DWORD, 80000001)
            _winreg.CloseKey(key)
Sauf que cela ecrit 80000001 en décimal, ce qui donc n'est pas du tout la même valeur.

J'ai tenté décrire 0x80000001 mais ça ne marche pas

0x80000001 = 2147483649 en décimal, mais si j'essaie de mettre 2147483649 dans mon code cela génère l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<type 'exceptions.ValueError'>: Could not convert the data to the specified type.
pourtant si dans un ficher .reg on met :
"MaClé"=dword:80000001
on obtient bien la clé "MaClé" avec comme valeur :
0x80000001 (2147483649)

Quelqu'un sait-il comment rentrer cette valeur directement en hexadécimal avec _winreg ?

Merci.