SUMMARY
You can modify user environment variables by editing the following
Registry key:
HKEY_CURRENT_USER \
Environment
You can modify system environment variables by editing the following
Registry key:
HKEY_LOCAL_MACHINE \
SYSTEM \
CurrentControlSet \
Control \
Session Manager \
Environment
Note that any environment variable that needs to be expanded (for example,
when you use %SYSTEM%) must be stored in the registry as a REG_EXPAND_SZ
registry value. Any values of type REG_SZ will not be expanded when read
from the registry.
Note that RegEdit.exe does not have a way to add REG_EXPAND_SZ. Use
RegEdt32.exe when editing these values manually.
However, note that modifications to the environment variables do not
result in immediate change. For example, if you start another Command
Prompt after making the changes, the environment variables will reflect the
previous (not the current) values. The changes do not take effect until you
log off and then log back on.
To effect these changes without having to log off, broadcast a
WM_SETTINGCHANGE message to all windows in the system, so that any
interested applications (such as Windows Explorer, Program Manager, Task Manager, Control
Panel, and so forth) can perform an update.