我有一个控制台应用程序,它从控制台读取输入并将输出写入控制台。我需要编写另一个程序来运行第一个程序,为它模拟控制台输入并获取输出。您能否提供一种针对此问题的调查方法?
控制台应用程序代码的(非常简单的)示例:
string input = Console.ReadLine();
int value = int.Parse(input);
Console.WriteLine(value * value);
我有一个控制台应用程序,它从控制台读取输入并将输出写入控制台。我需要编写另一个程序来运行第一个程序,为它模拟控制台输入并获取输出。您能否提供一种针对此问题的调查方法?
控制台应用程序代码的(非常简单的)示例:
string input = Console.ReadLine();
int value = int.Parse(input);
Console.WriteLine(value * value);
您可以创建新Process
的并分配它的StandardInput
和StandardOutput
属性。
ProcessStartInfo processStartInfo =
new ProcessStartInfo(executableName, executableParameter);
processStartInfo.UseShellExecute = false;
processStartInfo.ErrorDialog = false;
processStartInfo.RedirectStandardError = true;
processStartInfo.RedirectStandardInput = true;
processStartInfo.RedirectStandardOutput = true;
Process process = new Process();
process.StartInfo = processStartInfo;
bool processStarted = process.Start();
StreamWriter inputWriter = process.StandardInput;
StreamReader outputReader = process.StandardOutput;
StreamReader errorReader = process.StandardError;
//Write and read process console using inputWriter and outputReader.
process.WaitForExit();