Запуск программы с указанием рабочей папки - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Нужно запускать стороннюю программу с указанием (!корневой) рабочей папки в которой находится запускаемая программа. Т.е что это значит. Есть программа "prog.exe" расположенная к примеру в директории "D:\Программы\", есть моя программа которая расположена на рабочем столе (директория "C:\\Пользователи\\..." ну и так всем понятно). Нужно чтобы я своей программой с рабочего стола мог запустить программу prog.exe так, чтобы она думала что моя программа в корневой директории с запускаемой программой. Сейчас запускаю программу таким образом (код из с++):
Process::Start("D:\\Программы\\prog.exe", "1");
Думаю в переводи на с# он будет выглядеть таким образом:
Process.Start("D:\\Программы\\prog.exe", "1");
Но это не важно, т.к. не в этом вопрос.
Вот код на с++:...
                                        ProcessStartInfo^ startInfo = gcnew ProcessStartInfo();
                    startInfo->FileName = "prog.exe";
                    startInfo->WorkingDirectory = textBox1->Text;
                    startInfo->Arguments = "1";
                    Process::Start(startInfo);
Хочу переписать старый проект с с++ на c#. И помнится у меня там были какие-то серьезные проблемы с чем-то. Вот задал вопрос, думал с этим были сложности, сейчас проверил вроде все нормально работает.. В общем

вопрос не актуален

.. видимо я сам уже запутался где-то.

Решение задачи: «Запуск программы с указанием рабочей папки»

textual
Листинг программы
            ProcessStartInfo startInfo = new ProcessStartInfo(@"D:\Программы\prog.exe");
            startInfo.WorkingDirectory = Path.GetDirectoryName(startInfo.FileName);
            startInfo.Arguments = "1";
            Process.Start(startInfo);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.5 из 5
Похожие ответы