Работа с реестром в Python
Я хочу изменить значение реестра. Я попробовал следующее, но это не работает. Я не знаю, в чем проблема в моем коде!
KeyVal = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{B3D42F82-AE5B-4AE1-939C-E958D13732D2}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}\Deny_Execute'
try:
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,KeyVal,0, winreg.KEY_ALL_ACCESS)
key = winreg.CreateKey(winreg.HKEY_CURRENT_USER,KeyVal )
winreg.SetValueEx(key,"Deny_Execute",0,winreg.REG_DWORD,0)
winreg.CloseKey(key)
except:
pass
1 ответ
Первая большая проблема - это ваш анти-шаблон:
try:
<some code>
except:
pass
поэтому, если возникает какая-либо ошибка, вы не знаете об ошибке. Таким образом, вы должны правильно обработать исключение, например, распечатав сообщение об ошибке
try:
<some code>
except Exception as e:
print(str(e))
реальная проблема, с которой вы здесь сталкиваетесь, заключается в том, что вы должны запускать свой сценарий с повышенными привилегиями (как администратор), поскольку вы запрашиваете доступ на запись к разделу системного реестра.
Но вы не можете увидеть ошибку "отказано в доступе" из-за неверного способа перехвата всех исключений.