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)