2016-06-18 4 views
-1

에 Windows 레지스트리에 데이터를 추가하는 동안 :해결하는 방법 "[오류 5] 액세스가 거부되었습니다"이것은 내 코드입니다 파이썬

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] 

내가이 밖으로 EXE 파일을 만들었습니다

pyinstaller.exe --onefile testDemo.py 
을 수행하여

"testDemo.exe"파일이 생성됩니다. 내가 cmd [관리자 모드 또는 관리자 모드없이]에서 실행하려고하면이 문제가 발생합니다.

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

어떻게 해결할 수 있습니까?

답변

2

예약 된 매개 변수가 OpenKey 호출에서 누락되었습니다.

winreg.OpenKeyEx (= 0 예약 키 sub_key, 액세스 = KEY_READ)는

가 예약 정수이고, 0이되어야 소유. 기본값은 0입니다.

관련 문제