Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

_winreg (WindowsError: [Error 5])

57K
25 августа 2010 года
Nosaer
18 / / 25.08.2010
Собственно 2 вопроса:
1) Где ошибка?
 
Код:
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")

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]
253
25 августа 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
WindowsError: [Error 5]


Не знаю конкретно про Python, но ошибка 5 в WinAPI это ERROR_ACCESS_DENIED.

16K
25 августа 2010 года
k0t
97 / / 23.04.2007
так же ж лень посмотреть документацию

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
57K
25 августа 2010 года
Nosaer
18 / / 25.08.2010
Цитата: k0t
так же ж лень посмотреть документацию

http://docs.python.org/library/_winreg.html#_winreg.OpenKey
при открытии ключа необходимо указать тип доступа к нему. У вас он по умолчанию открыт как READ_ACCESS. Поэтому как и сказал Proger_XP: "ошибка 5 в WinAPI это ERROR_ACCESS_DENIED"



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

Аналогичным способом я без проблем создаю нужный мне параметр, в любой ветке реестра, кроме этой. Можно подробнее про типы доступа!?

16K
25 августа 2010 года
k0t
97 / / 23.04.2007
В вашем случае стоит попробовать:
 
Код:
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
57K
25 августа 2010 года
Nosaer
18 / / 25.08.2010
Спасибо, все получилось:
 
Код:
reg = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, _winreg.KEY_ALL_ACCESS)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог