MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Передача значений в чужую консольную программу"
Answer 787210
Самый простой вариант - записать необходимые данные в файл, и вызвать cmd с перенаправлением ввода:
ProcessStartInfo psi=new ProcessStartInfo(); psi.FileName="cmd"; psi.Arguments = "/k c:\\MyApp.exe < c:\\MyFile.txt"; Process pr = new Process(); pr.StartInfo = psi; pr.Start();
Более продвинутый способ, это
RedirectStandartInput
, однако при этом целевое приложение отвязывается от консольного окна, и его выходные данные придется выводить другим способом.ProcessStartInfo psi=new ProcessStartInfo(); psi.FileName = "c:\\MyApp.exe"; psi.Arguments = ""; psi.UseShellExecute = false; psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; Process pr = new Process(); pr.StartInfo = psi; pr.Start(); pr.StandardInput.WriteLine("Hello"); //передача данных в программу string s = pr.StandardOutput.ReadLine(); //получение вывода MessageBox.Show("Program's output was: " + s);
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.