C#如何实现控制台输入输出重定向?

Cccmm002 2011-06-19 07:53:34
我要实现如下程序:通过API打开硬盘上一个exe文件,可以保证它是控制台程序。然后由我的程序控制它的输入,实时收集它的输出(不经过文件,直接到内存)。这样的功能该如何实现?用什么API?
...全文
360 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Icedmilk 2011-06-19
  • 打赏
  • 举报
回复
参考代码:
    public class Program
{
static void Main(string[] args)
{
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.FileName = "cmd";

string strOut = string.Empty;
string strError = string.Empty;
p.OutputDataReceived += (o, e) => { strOut += e.Data + "\n"; };
p.ErrorDataReceived += (o, e) => { strError += e.Data + "\n"; };
p.Start();
p.BeginOutputReadLine();
p.BeginErrorReadLine();
p.StandardInput.WriteLine("dir");
p.WaitForExit(1000);
Console.WriteLine(strOut);
Console.WriteLine(strError);
p.StandardInput.WriteLine("exit");
p.WaitForExit();
}
}
threenewbee 2011-06-19
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110518/19/d339da33-c3b1-4b85-9a29-65dac8ddbb03.html

110,569

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧