Проблема с запуском EXE-файла из C # - PullRequest
0 голосов
/ 14 июля 2011

Когда я выполняю исполняемый файл (PVFProject15.exe), он считывает данные из входного файла (inputFile.txt) и печатает результаты в другом файле (outputFile.txt). EXE-файл работает хорошо, когда я дважды щелкаю по нему; Он открывает окно консоли, которое остается открытым, пока не будет создан выходной файл. Однако когда я запускаю (PVFProject15.exe) из c #, окно консоли открывается и закрывается очень быстро, а выходной файл никогда не создается.

Я был бы очень признателен за вашу помощь, так как я целый день работал над этим и не нашел ответа. Вот мой код ниже.

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 ]

1 голос
/ 14 июля 2011

Вероятно, для PVFProject15.exe необходим текущий каталог: C: \ temp \ trial

0 голосов
/ 17 мая 2013

Я также сталкиваюсь с той же проблемой, когда пытаюсь запустить некоторые .exe и .hta из моего программного обеспечения на C #. Я начинаю искать решение, и ответ Майка Можаева мне на правильный путь. В вашем коде вам нужно использовать: 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();

                }
0 голосов
/ 14 июля 2011

Если PVFProject15.exe пишет в файл, используя относительный путь, найдите outputFile.txt в каталоге, из которого вы запускаете основную программу-загрузчик.

...