в реестре не изменяется значение, а создается новая директория
Наверное это довольно глупая ошибка, но я 2 битых дня смотрю на это и не понимаю в чем она. Программа должна заменять значение в уже созданном реестре, но вместо этого создает новую папку. Вот код:
import winreg
color = '10 10 10'
change_way = r'Control Panel\Colors'
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, change_way)
winreg.SetValue(key, 'Hilight', winreg.REG_SZ, color)
winreg.CloseKey(key)
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Используйте winreg.SetValueEx:
color = '10 10 10'
change_way = r'Control Panel\Colors'
key = winreg.OpenKey(
winreg.HKEY_CURRENT_USER,
change_way,
access=winreg.KEY_SET_VALUE # <--
)
winreg.SetValueEx( # <--
key,
'Hilight',
0, # <--
winreg.REG_SZ,
color
)
winreg.CloseKey(key)
А еще, можно использовать with, чтобы не забыть закрыть ключ реестра.
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, change_way, access=winreg.KEY_SET_VALUE) as key:
winreg.SetValueEx(key, 'Hilight', 0, winreg.REG_SZ, color)