Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.12;
Скачать: CL | DM;

Вниз

Изменение переменных среды окружения Win2k   Найти похожие ветки 

 
Герасимов   (2002-10-31 13:32) [0]

Изменяю переменные среды окружения через реестр, но не получается добиться обновления измененных значений сразу, а не после перезагрузки. Кто-нибудь знает, какую функцию надо вызвать для рефреша? Причем система сама это делает влегкую :(
Алекс


 
Marcus   (2002-10-31 14:46) [1]

Попробуй PostMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, <секция реестра, которую менял>)


 
Сахаров Сергей   (2002-10-31 15:00) [2]

Выдержка из MSDN.

HOWTO: Propagate Environment Variables to the System
Q104011

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.

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.

MORE INFORMATION
For example, on Windows NT, the following code fragment should propagate the changes to the environment variables used in the Command Prompt:

SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,
(LPARAM) "Environment", SMTO_ABORTIFHUNG,
5000, &dwReturnValue);

None of the applications that ship with Windows 95, including Program Manager and the shell, respond to this message. Thus, while this article can technically be implemented on Windows 95, there is no effect except to notify third-party applications. The only method of changing global environment variables on Windows 95 is to modify the autoexec.bat file and reboot.


 
Герасимов   (2002-10-31 16:27) [3]

Спасибо за подробный ответ, плохо искал :(((



Страницы: 1 вся ветка

Текущий архив: 2002.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
1-36079
Vcoder
2002-11-28 22:02
2002.12.12
Вертикальный текст в TCanvas


14-36373
iNew
2002-11-20 08:56
2002.12.12
Как узнать к какому провайдеру подключен тот или иной сервер


1-36111
KMI
2002-12-03 11:19
2002.12.12
Как создать текстовый файл в DOS-кодировке?


7-36452
Алексей ВМ
2002-10-10 17:17
2002.12.12
To Александр Специлин.


1-36178
ctapik-net
2002-12-04 07:06
2002.12.12
Как сказать дельфи чтобы при debug e не компилировал кое-что