牛骨文教育服务平台(让学习变的简单)
博文笔记

子进程能够继承父进程的所有环境变量

创建时间:2018-03-19 投稿人: 浏览次数:149

   在windows 系统中子进程能够继承父进程的环境变量。但是各类句柄是需要强制指明是否继承的。

父进程代码如下:

namespace ParentProcess
{
    class Program
    {
        static void Main(string[] args)
        {
            // 设置当前进程环境变量。
            System.Environment.SetEnvironmentVariable("TextValue", "This is Parent");


            // 启动测试进程
            string appPath = AppDomain.CurrentDomain.BaseDirectory + "TestProcessEnv.exe";
            ProcessStartInfo pi = new ProcessStartInfo(appPath);
            pi.UseShellExecute = false;
            Process.Start(pi);
        }
    }

}


子进程代码如下:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            string labelText = System.Environment.GetEnvironmentVariable("TextValue");
            label1.Text = labelText;
        }

    }


运行结果发现当单独启动子进程的时候,界面上不显示任何信息。但是如果通过父进程调用启动,则会显示This is Parent

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。