Я не вижу ошибок в вашем коде.Я написал небольшую программу, которая выводит ее аргументы на консоль
static void Main (string[] args)
{
foreach (string s in args)
Console.WriteLine(s);
Console.Read(); // Just to see the output
}
, а затем я поместил ее в C: имя приложения «PrintingArgs.exe», поэтому я написал другуютот, который выполняет первый:
Process p = new Process();
p.StartInfo.FileName = "C:\\PrintingArgs.exe";
p.StartInfo.Arguments = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18";
p.Start();
, это дает мне желаемый вывод списка чисел.Приложение, которое вызывает PrintingArgs, завершает работу, когда достигает p.Start (), этого можно избежать, используя p.WaitForExit();
или просто Console.Read();
.Также я использовал и p.UseShellExecute
и p.CreateNoWindow
.Только в том случае, если
p.UseShellExecute = false;
p.CreateNoWindow = true;
заставит приложение PrintingArgs не показывать окно (даже если я поставлю только p.CreateNoWindow = true
, оно показывает окно).
Теперь это приходит мне в головучто, возможно, вы неправильно передаете аргументы и заставляете другую программу сразу же закрываться или закрываться, или, возможно, вы не указываете на нужный файл.Проверьте пути и имена, чтобы найти любую ошибку, которую вы могли бы пропустить.Кроме того, использование
Process.Start(fileName, args);
не использует информацию, которую вы настроили с помощью StartInfo в вашем экземпляре процесса.
Надеюсь, это поможет, с уважением