获得以下代码:
aReg = ConnectRegistry(None,HKEY_CURRENT_USER)
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE)
try:
SetValueEx(aKey,registry_key_name,0, REG_SZ, r"" + folder + "\" + file_name)
except EnvironmentError:
print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)
我想添加一些检查,如果尚未存在,那么只有在没有这样的Key
的情况下才添加它答案 0 :(得分:5)
来自this问题我想最好的选择是使用_winreg.OpenKey
并优先处理WindowsError
异常,假设注册表项不存在。
from _winreg import *
exists = True
aReg = ConnectRegistry(None,HKEY_CURRENT_USER)
try:
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE)
except WindowsError:
exists = False
try:
if not exists:
SetValueEx(aKey,registry_key_name,0, REG_SZ, r"" + folder + "\" + file_name)
except EnvironmentError:
print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)