Windows

Environment Variables

,

Как принять изменения без перезапуска

Дата публикации:

typhoon, 29.12.2008 - 20:59

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

aav8, 30.12.2008 - 6:55

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

typhoon, 30.12.2008 - 13:36

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

aav8, 30.12.2008 - 14:26

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

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

typhoon, 30.12.2008 - 17:39

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


версия для печати -> Полная версия

SoftoRooM © 2004-2024