c#标准输出readtoEnd()

时间:2011-04-07 09:48:06

标签: c# .net process console-application

我有以下问题。我运行一个exe但我无法在我的控制台应用程序中看到exe包含的所有内容。我期望在控制台应用程序中看到至少我正在运行的可执行文件中写的文本。我哪里错了?

1)我如何在控制台应用程序中打印我正在运行的exe文件中写入的文本?那可能吗?我还想使用标准输入流。我的意思是我想从exe中读取并使用我的应用程序在exe中写。这是代码:

需要一些帮助。 THX!

    static void Main(string[] args)
    {
        string s;



        ProcessStartInfo p = new ProcessStartInfo();
        p.UseShellExecute = false;
        p.RedirectStandardOutput = true;
        p.RedirectStandardInput = true;
        p.RedirectStandardError = true;
        p.FileName = @"notepad.exe";

        using (Process pp = Process.Start (p))
        {
            string output = pp.StandardOutput.ReadToEnd();
            //pp.WaitForExit();
            StreamReader myStreamReader = pp.StandardError;

            // finally output the string
            Console.WriteLine("output is: "+output+"....."+myStreamReader.ReadLine());
          //  pp.Close();
            Thread.Sleep (2000);
        }

1 个答案:

答案 0 :(得分:3)

Standard*流仅适用于控制台应用程序。您正在运行notepad,它不是控制台应用程序。