Я разработал скрипт python, где у меня есть окно настроек, в котором есть опции для выбора путей для установки программного обеспечения. При нажатии кнопки OK окна настроек i хотите записать все выбранные пути в реестр и прочитать их, когда окно установки снова открывается. Мой код выглядит, как показано ниже.скрипт python для чтения и записи пути к реестру
def OnOk(self, event):
data1=self.field1.GetValue() #path selected in setting window
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
try:
SetValueEx(keyVal,"Log file",0,REG_SZ,data1)
except EnvironmentError:
pass
CloseKey(keyVal)
CloseKey(aReg)
Я получаю сообщение об ошибке, как показано ниже:
Traceback (most recent call last):
File "D:\PROJECT\project.py", line 305, in OnOk
keyVal=OpenKey(aReg,r"SOFTWARE\my path to\Registry", 0,KEY_WRITE)
WindowsError: [Error 5] Access is denied
И читать из реестра, сохраненный реестр должен отображаться в заходящего window.I попытался с ниже code.Though его работы, но не удовлетворены тем, как я запрограммирован it.Help меня за лучшее решение
key = OpenKey(HKEY_CURRENT_USER, r'Software\my path to\Registry', 0, KEY_READ)
for i in range(4):
try:
n,v,t = EnumValue(key,i)
if i==0:
self.field2.SetValue(v)
elif i==1:
self.field3.SetValue(v)
elif i==2:
self.field4.SetValue(v)
elif i==3:
self.field1.SetValue(v)
except EnvironmentError:
pass
CloseKey(key)
Да, я пользовался гостевым пользователем, поэтому я не понял его. Я изменил HKEY_LOCAL_MACHINE на HKEY_CURRENT_USER, и теперь он работает нормально. – Aramanethota
IS HKEY_CURRENT_USER работает как для администратора, так и для другой учетной записи пользователя ?? – Aramanethota
Если пользователь гостя может получить доступ к ключу в реестре, то так же может быть и администратор. –