C#Process.Start获取main函数返回值,以及控制台输出重定向到文本框

1、Process.Start()返回启动进程main函数的返回值  

private void button1_Click(object sender, EventArgs e)
        {
            Process da = new Process();
            da.StartInfo.FileName = "ConsoleApplication3.exe";
            da.StartInfo.UseShellExecute = false;
            da.StartInfo.RedirectStandardInput = true;
            da.StartInfo.RedirectStandardOutput = true;
            da.StartInfo.RedirectStandardError = true;
            da.StartInfo.CreateNoWindow = true;


            da.Start();
            da.WaitForExit();
            int nn = da.ExitCode;
            da.Close();
            //da.StandardInput.WriteLine("ping -n 1 192.168.0.1");


            string strRst = nn.ToString();
            MessageBox.Show(strRst);
        }


2、Process.Start将启动进程的控制台输出重定向到textbox

private void button2_Click(object sender, EventArgs e)

        {
            Process da = new Process();
            da.StartInfo.FileName = "cmd.exe";
            da.StartInfo.UseShellExecute = false;
            da.StartInfo.RedirectStandardInput = true;
            da.StartInfo.RedirectStandardOutput = true;
            da.StartInfo.RedirectStandardError = true;
            da.StartInfo.CreateNoWindow = true;
            da.OutputDataReceived += da_OutputDataReceived;
            da.Start();
            da.BeginOutputReadLine();
            da.StandardInput.WriteLine("ping -t 192.168.2.39");


            //string strRst = da.StandardOutput.ReadToEnd();
            //da.WaitForExit();
            //Console.WriteLine("{0}", strRst);
        }


        void da_OutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            this.BeginInvoke(new Action(() => { textBox1.Text += "\r\n" + e.Data; }));


        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值