Обновление настроек переменных среды

Serab

Вот есть такой диалог Win+Pause -> Advanced -> Environment Variables.
Там когда редактируешь список переменных окружения и нажимаешь "Apply", изменения вступают в силу для вновь запускаемых программ.
Хотелось бы повторить это программно (изменять значение некоторой переменной из меню, скажем).
Где это хранится в реестре найти не составило труда, но изменения в реестре не оказывают влияния на explorer до, скажем, перезагрузки. Прогуглить не вышло =(
Кто-нибудь может что-нибудь сказать по этому поводу.
И еще вопрос вдогонку: вот редактирую я файл в vim, а в это время в него внесли изменения. Есть ли быстрый и удобный способ запустить diff3? Есть у кого-нибудь наработки в этой области?

okis

// здесь было неверное утверждение

Andbar

Пример хорошей утилиты, работающей с переменными окружения (в том числе для других процессов): http://forum.farmanager.com/viewtopic.php?t=260
Чтобы новые процессы вызывались с изменённым окружением, скорее всего кроме изменения реестра, надо будет подправить окружение для вызывающего процесса, например explorer.exe (сомневаюсь, что он при запуске приложений явно создаёт заново список этих переменных вместо того, чтобы использовать свои).

Serab

Именно, он использует свои. Но когда я нажимаю в вышеупомянутом диалоге Apply, он делает что-то, что изменяет эти самые свои значения. Вот хотелось бы его заставить это сделать.

VitMix

http://support.microsoft.com/kb/104011
Учись искать в доках!

Serab

Ок, займусь на выходных.

okis

А эксплорер и прочие сами обрабатывают это сообщение?
// да, действительно обрабатывают
Оставить комментарий
Имя или ник:
Комментарий: