从c#运行exe文件的问题

时间:2011-07-14 18:30:15

标签: c# .net exe

当我执行exe文件(PVFProject15.exe)时,它从输入文件(inputFile.txt)读取数据并将结果打印在另一个文件(outputFile.txt)中。双击时exe文件效果很好;它打开控制台窗口,该窗口保持打开状态,直到创建输出文件。但是,当我从c#运行(PVFProject15.exe)时,控制台窗口会很快打开和关闭,并且永远不会创建输出文件。

我真的很感谢你的帮助,因为我一直在努力解决这个问题一整天而且从未找到答案。以下是我的代码。

private void button1_Click(object sender, EventArgs e)

{
        Process runFortran = new Process();
        try
        {
            runFortran.StartInfo.FileName = "C:\\temp\\trial\\PVFProject15.exe";
            runFortran.Start();
            runFortran.WaitForExit(); 
        }
        catch (Exception exc)
        {
            MessageBox.Show(exc.Message);
        }
    }

提前谢谢。

SAFAA

3 个答案:

答案 0 :(得分:1)

可能PVFProject15.exe需要将当前目录设置为C:\ temp \ trial

答案 1 :(得分:0)

如果PVFProject15.exe使用相对路径写入文件,请在启动主程序引导程序的目录中查找outputFile.txt

答案 2 :(得分:0)

当我尝试从基于C#的软件启动一些.exe和.hta时,我也遇到了同样的问题。 我开始寻找Mike Mozhaev的解决方案和答案给我正确的方向。 在您的代码中,您需要使用: StartInfo.WorkingDirectory = Convert.ToString( System.IO.Directory.GetParent(appPath));

所以代码必须是这样的:

 if (File.Exists(appPath))
                {
                    Process runProcess = new Process();
                    runProcess.StartInfo.WorkingDirectory = Convert.ToString( System.IO.Directory.GetParent(appPath));
                    runProcess.StartInfo.UseShellExecute= true;
                    runProcess.StartInfo.FileName = appPath;
                    runProcess.Start();

                }