【发布时间】:2012-04-03 08:37:36
【问题描述】:
我有一个用 .net 编写的 .exe 程序(控制台应用程序)。
- 我需要执行它
- 提供输入
- 以字符串形式或最好以流形式获取输出。
目前我正在使用System.Diagnostics 命名空间和Process 类。
但是为此目的使用 Diagnostic 命名空间似乎没问题。
有什么方法可以让我更有效地做同样的事情吗?
就像使用反射找到Main() 方法然后调用它。
【问题讨论】:
我有一个用 .net 编写的 .exe 程序(控制台应用程序)。
目前我正在使用System.Diagnostics 命名空间和Process 类。
但是为此目的使用 Diagnostic 命名空间似乎没问题。
有什么方法可以让我更有效地做同样的事情吗?
就像使用反射找到Main() 方法然后调用它。
【问题讨论】:
Process 类是做你想做的事的正确工具。不要介意 Diagnostic 命名空间的名称 - 只需使用 Process 类即可。
【讨论】:
完全没问题。 System.Diagnostics 只是一个命名空间。
如果需要更多信息,您可以navigate to this project 获取动力并查看如何以语法方式处理流程或来自VM found in here 的此 sn-p
var startInfo = new ProcessStartInfo(FilePath)
{
WorkingDirectory = RootFolderPath,
Arguments = StartingArguments,
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
ConsoleProcess = new Process {StartInfo = startInfo};
ConsoleProcess.Start();
【讨论】: