This script comes from Activestate. It exports a variable permanently on win32 – without needing to reboot the system. Note: pywin32 must be installed to run the script.
Use it like this:
import win32export win32export.export("fooname" , "foovalue")
And here comes the script. Save it as win32export.py and use it from other scripts or from the command line.
""" vim: set enc=utf-8 Author : winterTTr Mail : winterTTr (at) gmail.com Desc : Tools for Operation on Win32 Environment variables Module : win32export.py """ import win32gui import win32con import win32api def export ( name , value , update_system = True ): try : modifyVariableInRegister( name , value ) except: return False if update_system : updateSystem() return True def modifyVariableInRegister( name , value ): key = win32api.RegOpenKey( win32con.HKEY_CURRENT_USER,"Environment",0,win32con.KEY_ALL_ACCESS) if not key : raise win32api.RegSetValueEx( key , name , 0 , win32con.REG_SZ , value ) win32api.RegCloseKey( key ) def updateSystem(): rc,dwReturnValue = win32gui.SendMessageTimeout( win32con.HWND_BROADCAST , win32con.WM_SETTINGCHANGE , 0 , "Environment" , win32con.SMTO_ABORTIFHUNG, 5000)