2010-09-15 8 views
1

J'ai une application console écrite en C# qui démarre un nouveau processus. Ce nouveau processus est également une application console. Le problème est que la sortie du processus enfant entier va à la fenêtre console parent et je ne le veux pas. Peu importe si cela crée une nouvelle fenêtre de console ou non, je n'en ai pas besoin.sous-processus spawning console avec sortie différente

Edit:

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

J'ai essayé quelques réglages supplémentaires comme CreateNoWindow, RedirectOutput et ainsi de suite, mais sans chance

+0

Quel code utilisez-vous pour démarrer la deuxième application de console? – Nate

+0

Que faire si vous créez un nouveau 'MemoryStream' et faire un" RedirectOutput "au flux de mémoire? De cette façon, vous avez la sortie, mais il * ne devrait pas * aller à l'écran de votre fenêtre de console d'origine. – Nate

+0

Pouvez-vous montrer le code où votre processus enfant est configuré et démarré? Normalement, une nouvelle fenêtre de console apparaît et toutes les sorties du processus enfant se retrouvent dans cette fenêtre. –

Répondre

0

Normalement, lorsque vous créez un processus enfant, une nouvelle fenêtre de console apparaît et tout La sortie du processus fils finit dans cette fenêtre. Voici un exemple de programme qui présente ce comportement:

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(); 
    } 
}