( Вход | Регистрация | Поиск )

Environment Variables, Как принять изменения без перезапуска
Дата обновления: 30.12.2008 - 17:39, перейти к новому сообщению

·typhoon
Группа: Пользователи

Сообщений: 3
Всем привет!
Ситуация следующая:
Меняю в реестре переменную окружения.
Запускаю прогу, которая должна смотреть на эту переменную (в частности Visual Studio 7).
А прога видит почему-то предыдущее значение. Проблема решается только ребутом.
Может кто знает, в чем проблема?
Зарание всем благодарен!


Ответов(1 - 4)

·aav8
Группа: Пользователи

Сообщений: 20
>> Меняю в реестре переменную окружения.
>> Запускаю прогу, которая должна смотреть на эту переменную (в >> частности Visual Studio 7).
>> А прога видит почему-то предыдущее значение.
>> Проблема решается только ребутом.
>> Может кто знает, в чем проблема?
>> Зарание всем благодарен!
Достаточно ребутнуть программу, из которой запускаешь
свою программу.
Я так понимаю что это проводник.
Для этого нужно перелогиниться.
Пуск -> завершение сеанса, и опять зайти со своим именем....


·typhoon
Группа: Пользователи

Сообщений: 3
Не подходит. Завершение сеанса закрывает все бегущие программы. А это мне не подходит.


·aav8
Группа: Пользователи

Сообщений: 20
>> Не подходит. Завершение сеанса закрывает все бегущие программы. А это мне не подходит.

Тогда запускай свою программу из другой, в которой меняешь окружение. T.e.:
Есть программа 1. В этой программе меняешь окружение, и из нее
запускаешь программу 2. В окружение программы 2 по умолчанию
копируется окружение родительского процесса.
(см. функцию CreateProcess).
В качестве программы 1 наверное можно использовать
какой-либо файловый менеджер. Или нарисовать свою
в той-же VisualStudio :-) .
Или научиться перезапускать проводник... Можно попробовать из
диспетчера задач его закрыть, а потом запустить.


·typhoon
Группа: Пользователи

Сообщений: 3
Спасибо!
Попробую покопать в этом направлении.