2016-12-16 67 views
0

レジストリの値を変更したい。私は以下を試しましたが、うまくいきません。自分のコードに何が問題なのか分かりません!Pythonでレジストリを操作する

try: 
    <some code> 
except: 
    pass 

はそうどのエラーが発生した場合、エラーを知らない:

KeyVal = r'SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{B3D42F82-AE5B-4AE1-939C-E958D13732D2}Machine\Software\Policies\Microsoft\Windows\RemovableStorageDevices\{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}\Deny_Execute' 

try: 
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,KeyVal,0, winreg.KEY_ALL_ACCESS) 
    key = winreg.CreateKey(winreg.HKEY_CURRENT_USER,KeyVal) 
    winreg.SetValueEx(key,"Deny_Execute",0,winreg.REG_DWORD,0) 
    winreg.CloseKey(key) 
except: 
    pass 

答えて

0

最初の大きな問題は、あなたのアンチパターンです。エラーメッセージ

try: 
    <some code> 
except Exception as e: 
    print(str(e)) 

を印刷することにより、例えば、適切に例外を処理する必要があるので、あなたはここに直面している本当の問題は「あなたがいるので、(管理者など)特権でスクリプトを実行する必要がありますシステムレジストリキーへの書き込みアクセスを要求します。

しかし、すべての例外をキャッチする悪い方法のため、「アクセス拒否」エラーは表示されません。