产生不同输出的控制台子流程

时间:2010-09-15 14:24:17

标签: c# process console

我有一个用c#编写的控制台应用程序,它启动了一个新进程。这个新进程也是一个控制台应用程序。问题是整个子进程输出转到父控制台窗口,我不希望它。如果它创建一个新的控制台窗口并不重要,我不需要它。

编辑:

Process p = new Process(); 
p.StartInfo.FileName = @"C:\example.exe";
p.Start();

我尝试了一些额外的设置,比如CreateNoWindow,RedirectOutput等,但没有运气

1 个答案:

答案 0 :(得分:0)

通常,当您创建子进程时,会弹出一个新的控制台窗口,子进程的所有输出都将在该窗口中结束。以下是展示此行为的示例程序:

using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;

static class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("TEST");

        if (args.Length == 0)
        {
            string path = Assembly.GetExecutingAssembly().Location;
            Process.Start(path, "DontStartProcess");
        }
        Console.ReadLine();
    }
}