Системные переменные
EnvGet("SYSTEMDRIVE")
;например, допишем путь к 7-Zip в Path $addtopath='%ProgramFiles%\7-Zip' $smcur='HKEY_LOCAL_MACHINE\SYSTEM\ControlSet' & StringFormat("%03s",RegRead("HKEY_LOCAL_MACHINE\SYSTEM\Select","Current")) & '\Control\Session Manager\Environment' $syscurpath=RegRead($smcur,"Path") ;если путь уже был внесен в Path (например, при установке поверх более старой версии), то ничего не делаем If Not StringInStr ($syscurpath,@ProgramFilesDir&'\7-Zip') and Not StringInStr ($syscurpath,$addtopath) Then RegWrite($smcur,"Path","REG_EXPAND_SZ",RegRead($smcur,"Path") & ";" & $addtopath) EndIf Если верить руководству AutoIt, то применение ф-ции EnvUpdate() после внесения изменений в переменную
Path должно сделать доступным новые пути, но, на практике этого не происходит - для вступления изменений в силу требуется перезагрузить ОС.
;имя создаваемой переменной
$newsysvarname='new'
;тип переменной
$newsysvartype='REG_SZ'
;значение переменной
$newsysvarvalue='value'
$smcur='HKEY_LOCAL_MACHINE\SYSTEM\ControlSet' & StringFormat("%03s",RegRead("HKEY_LOCAL_MACHINE\SYSTEM\Select","Current")) & '\Control\Session Manager\Environment'
RegWrite($smcur,$newsysvarname,$newsysvartype,$newsysvarvalue)
Создать сист. переменную также можно используя ф-цию EnvSet("envvariable"[,"value"]), но она будет существовать только до выхода из текущего скрипта.