Я пытаюсь передать в файл 2 пути и 1 строку, но это не работает, и я не знаю почему.
Когда это делается в CMD, он работает отлично.
Отладка приложения, в которое я пытаюсь передать аргументы, пути выглядят нормально, но я продолжаю получать странные последние ошибки, такие как «недопустимый дескриптор» или «ошибка общего доступа» (ссылка на параметр «Поделиться» в CreateFile API) или «недопустимый параметр» , но я не получаю ничего из этого через 5 секунд, когда пытаюсь в CMD
Вот как я загружаю пути:
первый:
OpenFileDialog FileDlg = new OpenFileDialog();
if (DialogResult.OK == FileDlg.ShowDialog()) {
FilePath = FileDlg.FileName;
}
второй:
SaveFileDialog SaveDlg = new SaveFileDialog();
if (DialogResult.OK == SaveDlg.ShowDialog()) {
FileOutPath = SaveDlg.FileName;
}
запуск процесса:
string Args = FilePath + " " + FileOutPath + " " + "1";
Process Proc = new Process();
Proc.StartInfo.FileName = FileToStart;
Proc.StartInfo.Arguments = Args;
Proc.StartInfo.UseShellExecute = false;
Proc.StartInfo.RedirectStandardOutput = true;
Proc.Start();
StreamReader OutRead = Proc.StandardOutput;
string Out = OutRead.ReadToEnd();
Proc.WaitForExit();
Proc.Close();
LogRichTextBox.Text = Out;
Первоначально это был просто вызов Process.Start("file", "args")
, который тоже не работал.
первый путь - это локальный файл , поэтому я передаю не абсолютный путь, а только имя исполняемого файла («ab c .exe»), а второй - абсолютный путь («C: \ Users \ X \ Destkop \ cba.exe ")
Что мне не хватает?