Запустить внешнюю программу со строковыми аргументами, содержащими разрывы строк
Из .Net
WinForms
C#
приложение мне нужно вызвать другую программу (которая также является .Net
WinForms
C#
приложение, если это имеет какое-либо значение) со строковыми аргументами, содержащими символы перевода строки / новой строки
Если я использую Process.Start()
метод (в вызывающей программе) и Environment.GetCommandLineArgs()
(в вызываемой программе), чтобы сделать это, это эквивалентно запуску программы из командной строки. В этом случае сможете передавать строковые аргументы, содержащие символы перевода строки / новой строки, не сталкиваясь с проблемами с обеих сторон?
1 ответ
Answered By – IInspectable Aug 17 at 16:07
Process.Start()
звонки CreateProcess()
, Интерпретатор командной строки не задействован. Это совсем не то же самое, что запуск процесса из командной строки. Интерпретатор командной строки накладывает ограничения на допустимые символы в командной строке. Вы не можете передать символ новой строки через командную строку (но вы можете через вызов CreateProcess()
).