Как я могу изменить переменные среды оболочки Windows (cmd.exe) из C ++?

Я хотел бы написать программу, которая устанавливает переменную окружения в экземпляре оболочки (cmd.exe), из которой она была вызвана. Идея состоит в том, чтобы я мог сохранить некоторое состояние в этой переменной и затем использовать его снова при последующем вызове.

Я знаю, что есть такие команды, как SetEnvironmentVariable, но я понимаю, что они меняют только переменную для текущего процесса и не изменяют переменные вызывающей оболочки.

В частности, я хотел бы создать команду, которая может перебрасываться между двумя каталогами. Pushd / Popd может перейти в каталог и обратно, но у него нет способа вернуть 2-й раз в первоначально отправленный каталог.

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

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