Script de Python para leer y escribir una ruta al registro.

He desarrollado una secuencia de comandos de Python donde tengo una ventana de configuración que tiene las opciones para seleccionar las rutas para la instalación del software. Al hacer clic en el botón Aceptar de la ventana de configuración, quiero escribir todas las rutas seleccionadas en el registro y leer el Igual al configurar la ventana se abre de nuevo. Mi código se ve como abajo.

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)

Me sale un error como el siguiente:

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

Y para leer el registro, el registro guardado debe aparecer en la ventana de configuración. Intenté con el siguiente código. Aunque funciona pero no está satisfecho con la forma en que lo programé. Ayúdeme a encontrar la mejor solución.

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)

Respuestas a la pregunta(7)

Su respuesta a la pregunta