我有一个fortran可执行文件,我试图用一个进程运行。 Fortran可执行文件向用户请求文件,执行操作以查找解决方案,之后如果有多个解决方案,它会询问用户是否希望找到最佳解决方案。我提供的代码在我调用等待输入空闲时似乎总是崩溃,因为似乎没有gui。我不熟悉使用流程,所以如果有人可以帮助我,那将不胜感激。从C#调用Fortran可执行文件的进程
谢谢。
编辑:我忘了提及Fortran可执行文件在向用户提供结果之后生成一个文本文件。当我删除等待输入空闲时,它不再崩溃,但生成的文本文件不再生成。可执行文件运行不正常?
Process exeProcess = new Process();
exeProcess.StartInfo.FileName = @"...\marcus12.exe";
exeProcess.StartInfo.UseShellExecute = false;
exeProcess.StartInfo.RedirectStandardError = true;
exeProcess.StartInfo.RedirectStandardInput = true;
exeProcess.StartInfo.RedirectStandardOutput = true;
exeProcess.Start();
//exeProcess.WaitForInputIdle();
exeProcess.StandardInput.WriteLine(Path.GetFileName(filePath));
//exeProcess.WaitForInputIdle();
exeProcess.StandardInput.WriteLine("Y");
exeProcess.WaitForExit();
您不需要等待。 – SLaks 2012-02-17 19:26:05
感谢您的回应,它不再崩溃,但现在可执行文件没有生成正确的输出(请参阅编辑),这让我质疑它是否正常运行。 – BeingIan 2012-02-17 19:43:10
阅读标准输出和错误,看看会发生什么 – SLaks 2012-02-17 20:41:27