, затем получите значение из вложенного ключа с параметрами, установленными, чтобы не раскрывать переменные среды. После того, как вы изменили путь по своему вкусу, используйте реестр, чтобы снова установить значение. Это не позволит Windows «забыть» ваш путь, как вы упомянули во второй части вашего вопроса.

у расширить текущую переменную PATH с помощью программы на C #. Здесь у меня есть несколько проблем:

С помощьюGetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine) заменяет заполнители (т.е.'%SystemRoot%\system32' заменяется текущим путем'C:\Windows\system32'). Обновляя переменную PATH, я не хочу заменять местозаполнитель путем.

ПослеSetEnvironmentVariable Ни одна программа не может быть открыта из окна команд больше (т.е. calc.exe в окне команд не работает). Я использую следующий код:

String oldPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("PATH", oldPath + ";%MYDIR%", EnvironmentVariableTarget.Machine);

После редактирования и измененияPATH Переменная с Windows все снова работает. (Мне вещь изменения не требуются, иначе она не перезаписывается)

Ответы на вопрос(6)

Ваш ответ на вопрос