使用参数在C#中运行控制台应用程序

时间:2011-06-28 19:21:27

标签: c# console-application

如何在C#中运行控制台应用程序,将参数传递给它,并以Unicode格式获取应用程序的结果?控制台应用程序中使用Console.WriteLine。 重要的一点是在Console Application中编写Unicode。

6 个答案:

答案 0 :(得分:13)

来自MSDN

的示例
 // Start the child process.
 Process p = new Process();
 // Redirect the output stream of the child process.
 p.StartInfo.UseShellExecute = false;
 p.StartInfo.RedirectStandardOutput = true;
 p.StartInfo.FileName = "Write500Lines.exe";
 p.Start();
 // Do not wait for the child process to exit before
 // reading to the end of its redirected stream.
 // p.WaitForExit();
 // Read the output stream first and then wait.
 string output = p.StandardOutput.ReadToEnd();
 p.WaitForExit();

答案 1 :(得分:4)

结帐Process.Start()

MSDN - Process.Start Method

您的代码可能类似于:

var process = Process.Start(pathToProgram, argsString);

process.WaitForExit();

var exitCode = process.ExitCode;

如果通过“控制台应用程序的结果”表示程序在运行时向控制台输出任何内容......您需要查看文档并找出如何重定向程序输出控制台到另一个流。

答案 2 :(得分:4)

尝试下面的代码,这里“Amay”是一个参数。

 System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(@"E:\\ConsoleApplicationt\bin\Debug\ConsoleApplicationt.exe", "Amay");

 System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);

答案 3 :(得分:3)

此处http://www.aspcode.net/ProcessStart-and-redirect-standard-output.aspx您可以看到如何从控制台应用程序读取输出您从Process.Start()开始。

答案 4 :(得分:1)

看一下Process课程。您可以使用Process.Start(“myexe.exe”);

调用任何可执行文件

答案 5 :(得分:1)

根据您的使用情况,您应该小心其他一些示例可能存在问题。对于编写自己的代码时常见的错误,请阅读“How to use System.Diagnostics.Process correctly

对于要使用的库,这里有一个:http://csharptest.net/browse/src/Library/Processes 简要使用指南:“Using the ProcessRunner class