2010-12-28 2 views
0

J'ai lu http://wxpython.org/docs/api/wx.ConfigBase-class.htmlComment utiliser python wx: Config pour accéder au registre Windows?

J'ai fait quelques choses de base comme l'annexe. Ce que je peux voir, c'est que Config.Create() me renvoie une sorte d'objet de configuration, qui contient des informations sur python. Mais clairement ce n'est pas ce que je cherche: Il me semble manquer la magie de dire "donnez-moi une configuration qui est le registre de Windows" ...

Merci!

Gaj

 
>>> import wx 
>>> from wx import Config 
>>> app=wx.App(False) 
>>> config=Config.Create() 
>>> config.HasGroup("HKEY_CURRENT_USER") 
False 
>>> config.GetFirstEntry() 
(0, u'', -1) 
>>> config.GetFirstGroup() 
(1, u'PythonCore', 1) 
>>> config.GetNextGroup(1) 
(0, u'', -1) 
>>> config.GetNumberOfGroups() 
1 
>>> config.GetPath() 
u'' 
>>> config.HasEntry("PythonCore") 
False 
>>> config.GetFirstGroup() 
(1, u'PythonCore', 1) 

Répondre

1

Les classes de configuration ne sont pas destinées à être utilisées comme chemin d'accès général au registre. Au lieu de cela, il facilite simplement le stockage et la récupération des données de préférences de votre application, de la manière qui convient à la plate-forme. En d'autres termes, il utilisera toujours un emplacement racine de quelque chose comme:

HKCU/Software/VendorName/AppName/ 

en supposant que le VendorName et AppName ont été mis sur votre objet wx.App. Si vous voulez accéder à quelque chose d'autre dans le registre, vous devrez utiliser un autre module pour le faire, comme cela a déjà été mentionné.

1

J'utilise généralement module _winreg Python pour tous builtin mon travail du Registre. Le module WMI de Tim Golden est également utile et vous pouvez également utiliser PyWin32, mais je pense que _winreg est le plus simple à moins que vous n'ayez besoin de faire une suppression récursive.

Questions connexes