def iterchildren(self): """ Iterates the subkeys for this Registry key. @rtype: iter of L{RegistryKey} @return: Iterator of subkeys. """ handle = self.handle index = 0 while 1: subkey = win32.RegEnumKey(handle, index) if subkey is None: break yield self.child(subkey) index += 1
def children(self): """ Returns a list of subkeys for this Registry key. @rtype: list(L{RegistryKey}) @return: List of subkeys. """ # return list(self.iterchildren()) # that can't be optimized by psyco handle = self.handle result = [] index = 0 while 1: subkey = win32.RegEnumKey(handle, index) if subkey is None: break result.append(self.child(subkey)) index += 1 return result
def subkeys(self, path): """ Returns a list of subkeys for the given Registry key. @type path: str @param path: Registry key path. @rtype: list(str) @return: List of subkey names. """ result = list() hive, subpath = self._parse_path(path) with win32.RegOpenKey(hive, subpath) as handle: index = 0 while 1: name = win32.RegEnumKey(handle, index) if name is None: break result.append(name) index += 1 return result