3

得到以下代码:

    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 时才添加它

4

1 回答 1

5

这个问题我猜最好的选择是优雅地使用_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)
于 2013-03-29T02:56:16.050 回答