Process 在不继承父进程的情况下创建进程';s环境变量

Process 在不继承父进程的情况下创建进程';s环境变量,process,exec,fork,Process,Exec,Fork,我有一个程序,它必须开始执行另一个进程。但子进程不应从父进程继承环境。i、 它应该像我从explorer启动程序一样启动。在搜索时,我发现了一些exec*()函数,它们允许您将字符串数组作为环境变量发送。但是这个过程很麻烦,因为我需要从列表中删除我的特定于程序的环境变量并将其发送给孩子。有没有其他方法可以做到这一点?实现这一点的唯一方法是你觉得很麻烦的方法。不过,这并没有那么困难,只是一些无意识的字符串操作。问题在于找出父程序设置的环境变量。这是一个第三方软件,您可以在其中编写可执行的程序。它还

我有一个程序,它必须开始执行另一个进程。但子进程不应从父进程继承环境。i、 它应该像我从explorer启动程序一样启动。在搜索时,我发现了一些exec*()函数,它们允许您将字符串数组作为环境变量发送。但是这个过程很麻烦,因为我需要从列表中删除我的特定于程序的环境变量并将其发送给孩子。有没有其他方法可以做到这一点?

实现这一点的唯一方法是你觉得很麻烦的方法。不过,这并没有那么困难,只是一些无意识的字符串操作。

问题在于找出父程序设置的环境变量。这是一个第三方软件,您可以在其中编写可执行的程序。它还允许您调用其他程序作为程序的一部分!我不知道为什么您会关心系统提供了哪些值,而不是调用之前设置/修改的值,但因为您似乎在谈论Windows系统,我建议您唯一的选择是解析系统环境键的注册表,然后是当前用户键。我不知道要检查哪些钥匙,但应该不难找到。但是,您需要记住,其中的值可能引用其他环境变量,您需要在其值中取消引用并替换这些变量。用户值位于HKCU\environment,我在HKLM\system\ControlSet001\Control\Session Manager\environment中找到了系统值。不过,我会对系统路径感到厌倦,它看起来可能是可变的。