[英]Problem with running exe file from c#
当我执行一个 exe 文件 (PVFProject15.exe) 时,它会从输入文件 (inputFile.txt) 中读取数据并将结果打印到另一个文件 (outputFile.txt) 中。 当我双击它时,exe文件运行良好; 它会打开控制台 window,在创建 output 文件之前,该控制台一直处于打开状态。 但是,当我从 c# 运行 (PVFProject15.exe) 时,控制台 window 会非常快速地打开和关闭,并且永远不会创建 output 文件。
我非常感谢您的帮助,因为我一整天都在努力解决这个问题,但从未找到答案。 下面是我的代码。
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);
}
}
先感谢您。
萨法
可能 PVFProject15.exe 需要将当前目录设置为 C:\temp\trial
当我尝试从基于 C# 的软件中启动 some.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();
}
如果PVFProject15.exe
使用相对路径写入文件,请在启动主程序引导程序的目录中查找outputFile.txt
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.