c# 如何调用外部exe程序 并获取exe程序的返回内容呢?
通过下面的代码可以执行dos命令,并获取到返回值,但我要执行的命令是调用一个exe命令行下的程序,这个命令行下的程序会返回一些内容,但这样写获取不到命令行下程序的返回结果, 该怎么弄呀System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.Start();
process.StandardInput.WriteLine(strcms);
process.StandardInput.AutoFlush = true;
process.StandardInput.WriteLine("exit");
process.WaitForExit();
return process.StandardOutput.ReadToEnd(); --------------------编程问答-------------------- 上面的代码可以获取dos命令的返回内容,比如ping 命令 都没问题,但调用命令行下的程序 就获取不到命令行下程序的返回内容, 晕 。。。。。。。 --------------------编程问答-------------------- process.StandardInput.WriteLine(strcms + " > C:\\1.txt");
看看这样 --------------------编程问答--------------------
还是看不到命令行下程序的返回内容, 我算总结出来了 dos自带的命令都能得到返回值,非dos自带的就获取不到返回值 --------------------编程问答-------------------- ping 命令本身是可以保存为文件,你试试这种类似的命令看看:
ping www.163.com -t >>d:\a.txt
--------------------编程问答-------------------- 像Winform之类的程序,尤其是控制台程序
static void Main(string[] args)
{
}
他的返回值是void,为空,所以你得不到什么返回值的。
这个也是看程序了
--------------------编程问答--------------------
但那个命令行的程序 在dos下运行的的确确有返回内容的。
补充:.NET技术 , C#