文章目录
- 一、实现目的
- 二、工程1:Test.cs代码
- 三、工程2:MainConsoleApp.cs代码
- 四、测试结果
一、实现目的
通过MainConsoleApp.exe向Test.exe中输入参数,并将结果返回到MainConsoleApp.exe
二、工程1:Test.cs代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
string content = Console.ReadLine();
if (content.ToUpper() == "TEST")
{
Console.WriteLine("Success!\r\nCongratulation!");
}
else
{
Console.WriteLine("Fail!\r\nSee you later.");
}
//Console.ReadLine();
}
}
}
三、工程2:MainConsoleApp.cs代码
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainConsoleApp
{
class Program
{
static void Main(string[] args)
{
Process proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = @"E:\Desktop\Test.exe",
UseShellExecute = false,
CreateNoWindow = false,
RedirectStandardInput = true,
RedirectStandardOutput = true
}
};
proc.Start();
proc.StandardInput.WriteLine("Test");
Console.WriteLine("MainInput:Test");
string line = null;
while (!proc.StandardOutput.EndOfStream)
{
line += proc.StandardOutput.ReadLine() + Environment.NewLine;
}
Console.WriteLine(line);
proc.WaitForExit();
//再次启动
proc.Start();
proc.StandardInput.WriteLine("T");
Console.WriteLine("MainInput:T");
string content = proc.StandardOutput.ReadToEnd();
Console.WriteLine(content);
proc.WaitForExit();
Console.ReadKey();
}
}
}