Ho sviluppato uno script python in cui ho una finestra di impostazione che ha le opzioni per selezionare i percorsi per l'installazione del software. Quando si fa clic sul pulsante OK della finestra di impostazione, io vuoi scrivere tutti i percorsi selezionati nel registro e leggere lo stesso quando si apre nuovamente la finestra di impostazione. Il mio codice appare come di seguito.script python per leggere e scrivere un percorso nel registro
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)
ottengo un errore come di seguito:
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
E per leggere dal Registro di sistema, il Registro di sistema salvato deve presentarsi nella impostazione window.I provato con il sotto code.Though il suo funzionamento, ma non soddisfatto del modo in cui ho programmato it.Help darmi una mano per la soluzione migliore
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)
Sì, stavo usando l'utente ospite, quindi non ho capito bene. Ho cambiato HKEY_LOCAL_MACHINE in HKEY_CURRENT_USER e ora funziona correttamente. – Aramanethota
IS HKEY_CURRENT_USER funziona sia per l'amministratore che per l'altro account utente ?? – Aramanethota
Se l'utente Guest può accedere alla chiave nel registro, può farlo anche Amministratore. –