2016-06-18 15 views
-1

dies ist mein Code:wie zu lösen "[Fehler 5] Zugriff verweigert" beim Hinzufügen von Daten zu Windows-Registry in Python

import _winreg 
import sys 

try: 
    key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Run', 
          _winreg.KEY_SET_VALUE) 
    _winreg.SetValueEx(key, 'pytest', 0, _winreg.REG_BINARY, 'C:\Users\Default\Desktop\est.py') 
    _winreg.QueryInfoKey(key) 
    key.Close() 
    print "Successfully Added" 
except: 
    print "Unexpected error:", sys.exc_info()[1],sys.exc_info()[0] 

i aus diesem eine exe gemacht habe von

pyinstaller.exe --onefile testDemo.py 
tun

es erzeugt eine "testDemo.exe" Datei. Wenn ich versuche, es in cmd [mit oder ohne Administrator-Modus] zu starten, bekomme ich das.

Unexpected error: [Error 5] Access is denied <type 'exceptions.WindowsError'> 

wie man es löst?

Antwort

2

Der dritte Parameter reserviert ist im Aufruf von OpenKey verpasst.

winreg.OpenKeyEx (key, sub_key, reserviert = 0, access = KEY_READ)

reserviert eine reservierte ganze Zahl ist und Null sein muß. Der Standardwert ist Null.