Поиск значений и подразделов во всем реестре

Пытаюсь написать программу, которая будет проходиться по всему реестру(2 раздела, т.к. остальные - это ссылки на подразделы этих двух) и выводить найденные по маске значения или подразделы.

from winreg import *
import re

hkeys = (
    HKEY_LOCAL_MACHINE,
    HKEY_USERS
)

regtype2text = {
    'REG_SZ': REG_SZ,
    'REG_DWORD': REG_DWORD,
    'REG_BINARY': REG_BINARY,
    'REG_DWORD_LITTLE_ENDIAN': REG_DWORD_LITTLE_ENDIAN,
    'REG_DWORD_BIG_ENDIAN': REG_DWORD_BIG_ENDIAN,
    'REG_EXPAND_SZ': REG_EXPAND_SZ,
    'REG_LINK': REG_LINK,
    'REG_MULTI_SZ': REG_MULTI_SZ,
    'REG_NONE': REG_NONE,
    'REG_QWORD': REG_QWORD,
    'REG_QWORD_LITTLE_ENDIAN': REG_QWORD_LITTLE_ENDIAN
}

mask_to_find = input('Введите маску для поиска: ').replace('*', '.')

for k in hkeys:
    with OpenKeyEx(k, None, 0, access=KEY_ALL_ACCESS) as key:
        query = QueryInfoKey(key)
        if query[1] != 0:
            list_vals = [EnumValue(key, i) for i in range(query[1])]

        if query[0] != 0:
            for i in range(query[0]):
                list_subs = [EnumKey(key, i) for i in range(query[0])]
        pass

Дальше что-то не могу придумать, я думаю нужна рекурсия. Если у кого-то есть идеи, помогите, пожалуйста.


Ответы (0 шт):