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

标签 c++ windows environment-variables

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

最佳答案

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

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

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

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

定义了两个独立的变量。

关于c++ - 为特定进程的特定运行设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092481/

相关文章:

c# - 如何 "End Task"而不是 "Kill"或 "Terminate"?

r - 如何使在函数内创建的对象在外部可用

java - IntelliJ 运行配置环境变量未出现在 System.getenv 中

c++ - visual studio 2015 c++ 变量周围的堆栈已损坏运行时错误

c - Windows 上的 fchown() 似乎无法在 C 中实现

c++ - std::stringstream.str() 输出垃圾

c++ - 无法在 Bash for Windows 中通过管道输出

reactjs - 如何从公用文件夹中访问环境变量?

c++ - std::async 似乎没有使用 std::launch::async 生成线程

c++ - 使用 Boost.Process 进行异步调用 std::future.get() 后程序挂起