How do I change the environment variables that Windows passes to all programs. Note: I am not asking about the environment variables that my program recieves and then passes to it's child processes. I'm talking about the ones that Windows passes to programs that will be run in the future. I almost forgot, I mean dynamically, by running a program, not by editing autoexec.bat. This message was edited by BigBadBob, on 4/27/2001 4:59:04 PM
Posted on 2001-04-27 16:55:00 by BigBadBob
this isnt a solution but i thought maybe this snipet i pulled from the msdn might help. 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 Program Manager, Task Manager, Control Panel, and so forth) can perform an update. smurf This message was edited by smurf, on 4/27/2001 6:59:29 PM
Posted on 2001-04-27 18:55:00 by smurf