3

Got the following code:

    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)

I would like to add some check if not already exists so only add it if there is no such Key

Mikko Ohtamaa
  • 82,057
  • 50
  • 264
  • 435
Boris Daka
  • 603
  • 2
  • 17
  • 33

1 Answers1

6

From this question I guess the best option is to use _winreg.OpenKey and handle the WindowsError exception gracefully assuming as registry key non existent.

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)
Community
  • 1
  • 1
joamag
  • 1,382
  • 1
  • 9
  • 15