繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM