Получи случайную криптовалюту за регистрацию!

Так сложилось, что исторически я использую GitHub сугубо в лич | Geeks

Так сложилось, что исторически я использую GitHub сугубо в личных целях и не пытаюсь сделать из своего аккаунта выставку достижений персонального творчества. Следствием такого подхода, в моем случае, является неприбранность в проектах и быстро созданные репозитории, заглядывая в которые, испытываешь некоторую неловкость за самого себя.

И недавно, волею случая, я стал использовать дома ПК с Windows. Соответственно, мне периодически стали требоваться некоторые специфические для винды штуки. Например, как поковыряться в реестре и посмотреть, что творится в службах.

И тут вспомнилось, что на GitHub'e у меня лежит маленькая python-библиотечка для работы с реестром, которая когда-то писалась для тестировщиков, пишущих на Robot Testing Framework, но сразу же была заброшена и забыта на четыре года. Какое-то странное чувство нашло на меня когда я увидел странное "Used by 36" и 11 несчастных звёзд. "О ужас!" подумал я и удивился, что это кто-то использует. Глянув внутрь я испытал холод ужаса... и решил всё-таки привернуть туда горсть тестов, стат-анализаторов и пару форматтеров кода. Кажется, что стало удачнее. Библиотечка всё равно скромная по функциональности, но из неё как-то проще ковыряться в реестре.

Например, вот так можно глянуть, что творится в автозапуске:

>>> from winregistry import WinRegistry
>>> from ataclasses import asdict
>>> from pprint import pprint
>>> autorun_key = r"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
>>> reg = WinRegistry()
>>> data = reg.read_key(autorun_key)
>>> pprint(asdict(data)["entries"])
[{'host': None,
'name': 'SecurityHealth',
'reg_key': 'HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run',
'type': ,
'value': '%windir%\\system32\\SecurityHealthSystray.exe'},
{'host': None,
'name': 'RtkAudUService',
'reg_key': 'HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run',
'type': ,
'value': '"C:\\Windows\\System32\\RtkAudUService64.exe" -background'},
{'host': None,
'name': 'KeePass 2 PreLoad',
'reg_key': 'HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run',
'type': ,
'value': '"C:\\Program Files\\KeePass Password Safe 2\\KeePass.exe" '
'--preload'}]

А вот так можно убить странный "KeePass 2 PreLoad":

reg.delete_entry(autorun_key, "KeePass 2 PreLoad")

Ссылка на репозиторий: https://github.com/shpaker/winregistry