1
我想通過向運行註冊表項寫入新值來向Windows啓動添加腳本。我在Python中有以下代碼。Python:向註冊表寫入值
from _winreg import *
def setScriptAtStartup(
value_name,
bAdd,
script_path=None
):
'''
:param value_name: the name value to be used in registry
:param bAdd: TRUE = Add, FALSE = Remove
:param script_path: path to run at startup
:return:
'''
if bAdd and script_path == None:
return False
aReg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
print r"*** Writing to SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***"
try:
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE)
if(bAdd):
SetValueEx(aKey, value_name, 0, REG_SZ, script_path)
else:
DeleteValue(aKey, value_name)
except EnvironmentError:
print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)
return
的問題是,當我打電話打開項功能,它總是提高EnvironmentError,我不能弄明白爲什麼。我檢查了路徑,這是一個有效的路徑。另外,我試圖只打開SOFTWARE密鑰,並再次失敗。
我該如何解決這個問題? 謝謝
從關鍵工作讀取好嗎? –
您是否在64 bii Windows計算機上使用32位Python?如果是這樣,請參閱[_Cannot在HKEY_LOCAL_MACHINE \ Software_下的註冊表寫入(http://stackoverflow.com/a/4951064/355230)。 – martineau