import _winreg
reg = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run")
_winreg.SetValueEx(reg, "del", 0, _winreg.REG_SZ, r"C:\WINDOWS\system32\del.py")
_winreg (WindowsError: [Error 5])
1) Где ошибка?
Код:
2) За что отвечает 3 параметр?
Код:
_winreg.SetValueEx(reg, "del", 0, _winreg.REG_SZ, r"C:\WINDOWS\system32\del.py")
Сообщение ошибки
Код:
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
_winreg.SetValueEx(reg, "del", 0, _winreg.REG_SZ, r"C:\WINDOWS\system32\del.py")
WindowsError: [Error 5]
File "<pyshell#4>", line 1, in <module>
_winreg.SetValueEx(reg, "del", 0, _winreg.REG_SZ, r"C:\WINDOWS\system32\del.py")
WindowsError: [Error 5]
Цитата:
WindowsError: [Error 5]
Не знаю конкретно про Python, но ошибка 5 в WinAPI это ERROR_ACCESS_DENIED.
http://docs.python.org/library/_winreg.html#_winreg.OpenKey
при открытии ключа необходимо указать тип доступа к нему. У вас он по умолчанию открыт как READ_ACCESS. Поэтому как и сказал Proger_XP: "ошибка 5 в WinAPI это ERROR_ACCESS_DENIED"
Там же можно почитать про третий параметр в _winreg.SetValueEx - http://docs.python.org/library/_winreg.html#_winreg.SetValueEx
Цитата: k0t
так же ж лень посмотреть документацию
http://docs.python.org/library/_winreg.html#_winreg.OpenKey
при открытии ключа необходимо указать тип доступа к нему. У вас он по умолчанию открыт как READ_ACCESS. Поэтому как и сказал Proger_XP: "ошибка 5 в WinAPI это ERROR_ACCESS_DENIED"
http://docs.python.org/library/_winreg.html#_winreg.OpenKey
при открытии ключа необходимо указать тип доступа к нему. У вас он по умолчанию открыт как READ_ACCESS. Поэтому как и сказал Proger_XP: "ошибка 5 в WinAPI это ERROR_ACCESS_DENIED"
Эту документацию я читал, но в силу моих слабых знаний в английском я как раз таки и не смог разобраться в этих вопросах.
Аналогичным способом я без проблем создаю нужный мне параметр, в любой ветке реестра, кроме этой. Можно подробнее про типы доступа!?
Код:
reg = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", sam=_winreg.KEY_ALL_ACCESS)
Список всех возможных: http://docs.python.org/library/_winreg.html#access-rights
Код:
reg = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, _winreg.KEY_ALL_ACCESS)