使用包含换行符的字符串参数启动外部程序
Launch external program with string arguments containing line breaks
从 .Net
WinForms
C#
应用程序我需要调用另一个程序(这也是一个 .Net
WinForms
C#
应用程序如果这有什么不同)与包含换行符/换行符的字符串参数。
如果我使用Process.Start()
方法(在调用程序中)和Environment.GetCommandLineArgs()
(在被调用程序) 要做到这一点,它相当于 运行 来自命令行的程序。在这种情况下,是否能够将包含换行符/换行符而不 运行 的字符串参数传递给任何一方的问题?
Answered By – IInspectable Aug 17 at 16:07
Process.Start()
呼叫 CreateProcess()
。不涉及命令行解释器。这与命令行中的 运行 进程完全不同。命令行解释器对命令行中的有效字符施加限制。您不能通过命令行传递换行符(但可以通过调用 CreateProcess()
)。
从 .Net
WinForms
C#
应用程序我需要调用另一个程序(这也是一个 .Net
WinForms
C#
应用程序如果这有什么不同)与包含换行符/换行符的字符串参数。
如果我使用Process.Start()
方法(在调用程序中)和Environment.GetCommandLineArgs()
(在被调用程序) 要做到这一点,它相当于 运行 来自命令行的程序。在这种情况下,是否能够将包含换行符/换行符而不 运行 的字符串参数传递给任何一方的问题?
Answered By – IInspectable Aug 17 at 16:07
Process.Start()
呼叫 CreateProcess()
。不涉及命令行解释器。这与命令行中的 运行 进程完全不同。命令行解释器对命令行中的有效字符施加限制。您不能通过命令行传递换行符(但可以通过调用 CreateProcess()
)。