process.standardoutput.ReadToEnd () toujours vide?

Je suis le démarrage d'une application console, mais quand je redirige la sortie standard, je reçois toujours rien!

Lorsque je n'ai pas de redirection, et CreateNoWindow à falseje peux tout voir correctement dans la console, mais quand je la réorienter, StandardOutput.ReadToEnd() renvoie toujours une chaîne vide.

        Process cproc = new Process();
        cproc.StartInfo.CreateNoWindow = true;
        cproc.StartInfo.FileName = Dest;
        cproc.StartInfo.RedirectStandardOutput = true;
        cproc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        cproc.StartInfo.UseShellExecute = false;
        cproc.EnableRaisingEvents = true;
        cproc.Start();
        cproc.Exited += new EventHandler(cproc_Exited);
        while(!stop)
        {
           result += cproc.StandardOutput.ReadToEnd();
        }

La EventHandler cproc_exited que des séries stop à true. Quelqu'un peut m'expliquer pourquoi result est toujours string.Empty?

source d'informationauteur alex | 2010-01-06