【问题标题】:Setting environment variables for a specific run of a specific process为特定进程的特定运行设置环境变量
【发布时间】:2012-10-17 01:07:41
【问题描述】:

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

【问题讨论】:

    标签: c++ windows environment-variables


    【解决方案1】:

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

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

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

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

    定义两个独立的变量。

    【讨论】:

      【解决方案2】:

      如果更改环境变量不会对您当前的进程造成问题,请查看Setting Environment Variables in C++

      提示:您的进程派生的任何程序都将只有您为它们提供的环境变量和值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        • 2020-03-22
        • 1970-01-01
        • 2015-10-14
        • 2018-01-17
        相关资源
        最近更新 更多