Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从c运行exe文件时出现问题#_C#_.net_Exe - Fatal编程技术网

C# 从c运行exe文件时出现问题#

C# 从c运行exe文件时出现问题#,c#,.net,exe,C#,.net,Exe,当我执行一个exe文件(PVFProject15.exe)时,它从一个输入文件(inputFile.txt)读取数据,并将结果打印到另一个文件(outputFile.txt)中。当我双击exe文件时,它运行良好;它打开控制台窗口,该窗口在创建输出文件之前一直保持打开状态。但是,当我从c#运行(PVFProject15.exe)时,控制台窗口会很快打开和关闭,并且输出文件永远不会创建 我真的很感激你的帮助,因为我一整天都在努力解决这个问题,但一直没有找到答案。下面是我的代码 private voi

当我执行一个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

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

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

我也遇到同样的问题,当我尝试从基于C#的软件启动一些.exe和.hta时。 我开始寻找迈克·莫扎耶夫的解决方案和答案,让我找到正确的方向。 在代码中,您需要使用:
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();

                }

我用记事本和我创建的其他控制台应用程序尝试了您的代码,它似乎工作得很好。您有PVFProject15.exe的代码吗?您没有将StartInfo.WorkingDirectory设置为@“c:\temp\trial”。许多写得很差的程序都无法生存下来。