Seite 1 von 1

win32 Registry Probleme

Verfasst: Freitag 11. Februar 2005, 11:20
von nobs
Hallo
Vielleichtt könnt ihr mir wieder helfen

Folgendes Problem:
Ich will für die laufzeit eines scripts etwas in der Registry ändern

d.h. alte werte speichern in einem backup file
werte überschreiben
skript ausführen
alte werte wieder reinlesen

Ich hab mich mit dem _winreg module beschäftigt aber folgendes problem:
die SaveKey Funktion tut nicht:
Bsp.:

Code: Alles auswählen

from _winreg import *
print r"*** Reading from SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***"
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run") 
for i in range(1024):                                           
    try:
        n,v,t = EnumValue(aKey,i)
        print i, n, v, t
    except EnvironmentError:                                               
        print "You have",i," tasks starting at logon..."
        break          
CloseKey(aKey)                                                  

print r"*** Writing to SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***"
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_ALL_ACCESS)
try:
    pass
##   SetValueEx(aKey,"MyNewKey",0, REG_SZ, r"c:\winnt\explorer.exe") 
except EnvironmentError:                                          
    print "Encountered problems writing into the Registry..."

try:
    SaveKey(aKey,r'c:\test.reg')
except Exception,ex:
    print ex
    
CloseKey(aKey)
CloseKey(aReg)  
Liefert mir

Code: Alles auswählen

*** Reading from SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***
0 Synchronization Manager XXXXXXXXXXXXx
2 XXXXX XXXXX
3 ATIModeChange Ati2mdxx.exe 1
....
You have 11  tasks starting at logon...
*** Writing to SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***
[Errno 1314] Der Client besitzt ein erforderliches Recht nicht
Details hab ich rausgelöscht...
Weis jemand was ich da falsch mache?

Ich habe nämlich Administrator rechte auf dem rechner, also die Datei z.B. kann ich sicher schreiben!

Verfasst: Freitag 11. Februar 2005, 12:15
von Leonidas
Vielleicht hast du ja interesse am WinReg Modul?

Verfasst: Freitag 11. Februar 2005, 12:16
von nobs
ist das was anderes als _winreg???
falls ja
wo krieg ich es her?

Verfasst: Freitag 11. Februar 2005, 12:33
von Leonidas
WinReg ist ein objektorientierter Wrapper um _winreg.