为特定进程的特定运行设置环境变量

时间:2012-10-26 18:33:46

标签: c++ windows environment-variables

是否可以设置进程“A”的环境变量,使其仅对当前运行有效(进程“A”将由我的进程启动)使用C ++?

2 个答案:

答案 0 :(得分:3)

假设您已准备好依赖Windows API,当您调用CreateProcess函数启动进程时,您将拥有lpEnvironment参数。

通常您传递NULL,这意味着使用创建过程的环境。但是,您可以提供将由新进程使用的环境块。

您传递的环境块是以null结尾的以空字符结尾的字符串块。例如:

"MyVar=MyValue\0MyOtheVar=MyOtherValue\0\0"

定义了两个独立的变量。

答案 1 :(得分:0)

如果更改环境变量不会导致当前流程出现问题,请查看Setting Environment Variables in C++

提示:您的流程分叉的任何程序都只包含您为其提供的环境变量和值。