I have been fighting with this for a couple of days and am getting
frustrated with it. I am trying to figure out a way to walk through the
windows registry and to capture all nodes under the HKEY_CLASSES_ROOT\CLSID
key and then put it into a list.



I have been trying to do it with a recursive function but am having no luck
with it. I am really hoping that it's because I am new to Python and not
because I am doing something stupid but it would not be the first time I
missed something obvious.



This script is a subset of the larger script that I am working on.  Any help
or feedback would be great. I'm getting to the end of my rope.



By the way I don't understand why it seems to work inside the
ListRegistryKeys function but it doesn't pass all the information back to
the parseRegistry function.



-Todd

====


#!/usr/bin/env python

import _winreg # _winreg module allows you to work with the windows registry

def ListRegistryKeys(path):
   # if its empty do nothing
   if not path: return

   key=_winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT, path)

   i=0
   name = []

   try:
       while 1:
           name.append(path + "\\" + _winreg.EnumKey(key, i))
           print name[-1]
           i += 1
   except WindowsError:
       pass

   _winreg.CloseKey( key)


   for item in name:
       ListRegistryKeys(item)

   return name


def parseRegistry():
   guidlist = ListRegistryKeys("CLSID")

   for item in guidlist:
       print "parseRegistry: ", item

def main():
   parseRegistry()

if __name__=="__main__":
   main()
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to