Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
netBool
248 / 250 / 149
Регистрация: 16.11.2010
Сообщений: 941
Записей в блоге: 9
Завершенные тесты: 5
1

Как работать с RedirectStandardInput?

20.06.2018, 18:09. Просмотров 137. Ответов 0
Метки нет (Все метки)

Доброго дня!

Не пойму, как приручить RedirectStandardInput:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
            var process = new Process();
            process.StartInfo.FileName = name;
            //process.StartInfo.CreateNoWindow = true;
            //process.StartInfo.ErrorDialog = false;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardError = true;
            //process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.EnableRaisingEvents = true;
 
            proc.StartInfo.RedirectStandardInput = true;
            proc.Start();
 
            proc.BeginErrorReadLine();
            proc.BeginOutputReadLine();
            StreamWriter sw = proc.StandardInput;
 
            string war = "b";
 
            sw.WriteLine(war);
 
            sw.Close();
Исходный код process:
C#
1
2
3
4
5
6
        static void Main(string[] args)
        {
                Console.WriteLine("Hello");
                Console.WriteLine("Hello2");
                Console.ReadKey();
        }
И process крашится, как только выполнение доходит до команды Console.ReadKey();
Т.е. Первые строки печатает и краш

Пробовал через цикл, как в мсдн

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            String inputText;
            int numLines = 0;
            do
            {
                Console.WriteLine("Enter a line of text (or press the Enter key to stop):");
 
                inputText = Console.ReadLine();//"Строка № "+numLines.ToString();
                if (inputText.Length > 0)
                {
                    numLines++;
                    sw.WriteLine(inputText);
                }
            } while (inputText.Length != 0);
но то же самое. Как с ним правильно работать, ума не приложу..

Добавлено через 7 часов 9 минут
Поменял ReadKey() на ReadLine() и Read(), вроде заработало. С ReadKey - вообще ни в какую

Добавлено через 1 час 0 минут
и вот еще в
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2018, 18:09
Ответы с готовыми решениями:

Как работать со словарём внутри различных функций и как его при этом объявлять
Работаю в Visual Studio 2012. Хотелось бы разобраться с парой вопросов. Как...

как работать с bluetooth в с#
Собственно вопрос в названии темы

Как работать с VKApi
Хочу воспользоваться функциями VK Api в C# Как и с чего начинать? Заранее...

Как работать в c# с Excel-ем
Подскажите пожалуйста, как работать в c# с Excel-ем? или где хорошо описывают,...

Как работать с видио
Нужно проиграть видиофайл mp4...как? пробывал так Video video = new...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2018, 18:09

Как работать с OpenFileDialog?
выбрал фаил при помощи данного контрола! и где этот фаил оказывается после...

Как работать с файлами?
Хочеться изучить язык с#.

Как работать с IProducerConsumerCollection<T>
Как работать с IProducerConsumerCollection&lt;T&gt; ,и в чем отличие от других...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru