c # стандартный вывод readtoEnd () - PullRequest
0 голосов
/ 07 апреля 2011

У меня следующая проблема. Я запускаю exe, но я не вижу в своем консольном приложении все, что содержит exe. Я ожидал увидеть в консольном приложении хотя бы текст, который я пишу в исполняемом исполняемом файле. где я не прав?

1) как я могу напечатать в консольном приложении текст, который я пишу в исполняемом файле, который я запускаю? это возможно? Я также хотел бы использовать стандартный поток ввода. Я имею в виду, что я хотел бы прочитать из 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 Ответ

3 голосов
/ 07 апреля 2011

Потоки Standard* применимы только к консольным приложениям. Вы используете блокнот, который не является консольным приложением.

...