2016-04-09 7 views
1

私はこのコードを経由してのpythonでレジストリキーを追加したいのですに拒否された:アクセスのpython

import _winreg 
from time import sleep 
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,'Software\\Microsoft\\Windows\\CurrentVersion\\Run',_winreg.KEY_SET_VALUE) 
_winreg.SetValueEx(key,'Windows-Update',0,_winreg.REG_BINARY,'C:\Windows\System32\SystemSetting\Block.exe') 
key.Close() 

しかし、それは、このエラーWindowsError: [Error 5] Access is deniedを示しています。

EDIT - 私はすでに管理者

EDIT2としてそれを実行している - それはKEY_ALL_ACCESS

+0

Pythonインタプリタを管理者として実行します。 –

+0

@Rogalskiすでに完了 –

+0

パス文字列は '' C:\\ Windows \\ System32 \\ SystemSetting \\ Block.exe''でなければなりませんか? – martineau

答えて

1

に関連しているコマンドプロンプトの内部のpythonプログラムを実行します。 Windowsで利用できるプログラムはcommand prompt (Admin)です。または、Command promptを右クリックし、Run as administratorを選択します。 Ref

+0

どのようなpythonプログラムですか?スクリプト? –

+0

yup、プログラムをpyファイルとして保存し、コマンドプロンプトで実行します。 – Mitty

+0

ありがとうございました –

0

これは管理者としてrunnigについてではありません。私はadminとしてrunnigを試して、まだAcces is deniedというメッセージを受け取りました。

デフォルトでは0の予約された整数を使用する必要があります。

_winreg.OpenKey(key、sub_key [、res [、sam]])... resは予約済みの整数であり、ゼロでなければなりません。デフォルトは0です。

だから、それはこのようにする必要があります:

あなたは本当に提案hereようKEY_ALL_ACCESSを使用する必要はありません。ちょうど0_winreg.KEY_SET_VALUEの前に追加してください。

関連する問題