Objects of type 'str' can not be used as binary registry values
в переводчик
Если пишете строку -
winreg.REG_SZ
Плюс, неправильно передали параметры
KEY = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, winreg.KEY_SET_VALUE)
либо
KEY = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', access=winreg.KEY_SET_VALUE)
В общем,
winreg.KEY_SET_VALUE
должен быть установлен для параметра
access
. Сам метод выглядит так:
winreg.OpenKey(key, sub_key, reserved=0, access=KEY_READ)
А в вашем варианте вы
winreg.KEY_SET_VALUE
передали в параметр
reserved