Все, что я пытаюсь сделать, это отправить команду, которая открывает модель с помощью программы .exe
Предполагается, что это очень просто!
Пример:
"C:\Program Files (x86)\River Logic\Enterprise Optimizer 7.4 Developer\EO74.exe" "C:\PauloXLS\Constraint Sets_1.cor"
Приведенная выше строка хорошо работает, если вставить ее в окно командной строки.
Однако при попытке передать точно такую же строку в моем коде он застревает в C: \ Program
string EXE = "\"" + @tbx_base_exe.Text.Trim() + "\"";
string Model = "\"" + @mdl_path.Trim()+ "\"";
string ExeModel = EXE + " " + Model;
MessageBox.Show(ExeModel);
ExecuteCommand(ExeModel);
ExeModel показывает следующую строку в Visual Studio:
"\"C:\\Program Files (x86)\\River Logic\\Enterprise Optimizer 7.4 Developer\\EO74.exe\" \"C:\\PauloXLS\\Constraint Sets_1.cor\""
Мне кажется, что это строка, которую мне нужно отправить в следующий метод:
public int ExecuteCommand(string Command)
{
int ExitCode;
ProcessStartInfo ProcessInfo;
Process Process;
ProcessInfo = new ProcessStartInfo("cmd.exe", "/K " + Command);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = true;
Process = Process.Start(ProcessInfo);
Process.WaitForExit();
ExitCode = Process.ExitCode;
Process.Close();
return ExitCode;
}
Вещи, которые я пробовал:
- Передавать только одну команду за раз (работает как положено), но не вариант, поскольку файл модели откроется с другой версией программного обеспечения.
- Пытался обрезать
- Пробовал с @ с \ "
Может кто-нибудь увидеть очевидную ошибку? Благодарю.