Как решить "[Ошибка 5] Доступ запрещен" при добавлении данных в реестр Windows в Python

Это мой код:

import _winreg
import sys

try:
    key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Run',
                          _winreg.KEY_SET_VALUE)
    _winreg.SetValueEx(key, 'pytest', 0, _winreg.REG_BINARY, 'C:\Users\Default\Desktop\est.py')
    _winreg.QueryInfoKey(key)
    key.Close()
    print "Successfully Added"
except:
    print "Unexpected error:", sys.exc_info()[1],sys.exc_info()[0]

я сделал выход из этого, делая

pyinstaller.exe --onefile testDemo.py

он создает файл "testDemo.exe". когда я пытаюсь запустить его в cmd[с режимом администратора или без него], я получаю это.

Unexpected error: [Error 5] Access is denied <type 'exceptions.WindowsError'>

как это решить?

1 ответ

Решение

3-й зарезервированный параметр пропущен при вызове OpenKey.

winreg.OpenKeyEx (ключ, sub_key, зарезервировано =0, доступ = KEY_READ)

reserved является зарезервированным целым числом и должно быть равно нулю. По умолчанию это ноль.

Другие вопросы по тегам