Форум сайта python.su
Всем доброго, помогите решить проблему с написанием следующего кода:
import sys
import _winreg
regpath = "SYSTEM\\CurrentControlSet\\Services\\UsbStor"
try :
root = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regpath)
except EnvironmentError :
print u"Указанный раздел не существует"
sys.exit(1)
# читаем значение параметра (если это надо)
print _winreg.QueryValueEx(root, "Start")
# пишем значение параметра
try :
_winreg.SetValueEx(root, "Start", 0, _winreg.REG_DWORD, 4)
except :
print u"Ошибка записи", sys.exc_info()[1]
Офлайн
:)
SetValue( key, sub_key, type, value)
***
The key identified by the key parameter must have been opened with KEY_SET_VALUE access.
Офлайн
import sys
import _winreg
regpath = "SYSTEM\\CurrentControlSet\\Services\\UsbStor"
try :
root = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regpath)
except EnvironmentError :
print u"Указанный раздел не существует"
sys.exit(1)
# читаем значение параметра (если это надо)
print _winreg.QueryValueEx(root, "Start")
# пишем значение параметра
try :
_winreg.SetValue(root, regpath, _winreg.REG_DWORD, "4")
except :
print u"Ошибка записи", sys.exc_info()[1]
Офлайн
ofigetitelno
Может и SetValue( key, sub_key, type, value) must have, но помоему он работает только с ветками реестра, а не с переменными.
Офлайн
:)
Нда, не дочитал…
И всё же, открывать нужно для чтения и для записи:
root = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regpath, 0, _winreg.KEY_SET_VALUE|_winreg.KEY_READ)
и да, писать через SetValueEx
Офлайн
Я Сделал так:
root = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, regpath, 0, _winreg.KEY_ALL_ACCESS)
Офлайн