我要调用别人的控制台程序,但是它不会自动结束,因为他后面有一句按enter键结束。 这种情况怎么办?
process.WaitForExit();会等不到结束
发送一个回车键过去
嗯 是这样干的 ,已经解决了 就是不优雅
用命令拼接即可,很明显echo无法直接输出enter,自己写一个enter输出就行了。
private void RunCmd(string cmd)
{
ProcessStartInfo processStartInfo = new ProcessStartInfo();
processStartInfo.FileName = "cmd.exe";
processStartInfo.Arguments = cmd;
ProcessStartInfo startInfo = processStartInfo;
Process process = new Process
{
StartInfo = startInfo
};
try
{
process.Start();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
process.WaitForExit();
}
public void RunRadTool(string jsonName)
{
RunCmd("/C " + RedToolPath[0].ToString() + ": && cd " + RedToolPath + " && dotnet AspNetZeroRadTool.dll " + jsonName);
}
这种情况,命令怎么拼?