.NET调用命令行执行程序的相关问题
2016-12-05 14:23
281 查看
在.net中,可以用System.Diagnostics.Process类来调用执行自己的EXE。在执行EXE时可参照下面代码:
using System.Diagnostics.Process;
public string EXEcute(string FileName)
{
//we can call this function to execute a program which porvide by FileName.
string OutPut;
private Process process=new Process();//init
process.StartInfo.FileName = FileName;//制定执行程序的全路径
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;//重定向标准输入
process.StartInfo.RedirectStandardOutput = true;//重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向标准错误输出
process.StartInfo.CreateNoWindow = true;//不显示窗口
process.Start();//开始执行程序
process.StandardInput.WriteLine("systeminfo");//向程序输入参数
process.WaitForExit();//等待程序执行结束
OutPut = process.StandardOutput.ReadToEnd();//读取程序输出
return OutPut;
}
同向Porcess类同样可以执行命令行命令。具体参见下面代码
public string EXEcuteCMD()
{
string OutPut;
private Process process=new Process();//init
process.StartInfo.FileName = “cmd.exe”;//制定执行程序的全路径
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;//重定向标准输入
process.StartInfo.RedirectStandardOutput = true;//重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向标准错误输出
process.StartInfo.CreateNoWindow = true;//不显示窗口
process.Start();//开始执行程序
process.StandardInput.WriteLine("systeminfo");//向程序输入参数
process.StandardInput.WriteLine("exit");//结束命令行,特别注意此行代码,此处如果不执行结束命令,那么命令行将阻塞在处, 而不会退出命令行,此时如果没有显示窗口的情况下,用户可能会误以为程序死了,其实不然。
process.WaitForExit();//等待程序执行结束
OutPut = process.StandardOutput.ReadToEnd();//读取程序输出
return OutPut;
}
using System.Diagnostics.Process;
public string EXEcute(string FileName)
{
//we can call this function to execute a program which porvide by FileName.
string OutPut;
private Process process=new Process();//init
process.StartInfo.FileName = FileName;//制定执行程序的全路径
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;//重定向标准输入
process.StartInfo.RedirectStandardOutput = true;//重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向标准错误输出
process.StartInfo.CreateNoWindow = true;//不显示窗口
process.Start();//开始执行程序
process.StandardInput.WriteLine("systeminfo");//向程序输入参数
process.WaitForExit();//等待程序执行结束
OutPut = process.StandardOutput.ReadToEnd();//读取程序输出
return OutPut;
}
同向Porcess类同样可以执行命令行命令。具体参见下面代码
public string EXEcuteCMD()
{
string OutPut;
private Process process=new Process();//init
process.StartInfo.FileName = “cmd.exe”;//制定执行程序的全路径
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;//重定向标准输入
process.StartInfo.RedirectStandardOutput = true;//重定向标准输出
process.StartInfo.RedirectStandardError = true;//重定向标准错误输出
process.StartInfo.CreateNoWindow = true;//不显示窗口
process.Start();//开始执行程序
process.StandardInput.WriteLine("systeminfo");//向程序输入参数
process.StandardInput.WriteLine("exit");//结束命令行,特别注意此行代码,此处如果不执行结束命令,那么命令行将阻塞在处, 而不会退出命令行,此时如果没有显示窗口的情况下,用户可能会误以为程序死了,其实不然。
process.WaitForExit();//等待程序执行结束
OutPut = process.StandardOutput.ReadToEnd();//读取程序输出
return OutPut;
}
相关文章推荐
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- windows命令行下随时随地调用csc编译器的方法(解决dos下编译.net程序找不到CSC的问题)
- 解决存储过程执行快,但程序调用则执行慢的问题
- 关于JS调用外部可执行程序中路径空格问题
- java命令行执行程序解决依赖外部jar包的问题
- JAVA如何调用.NET的程序的相关方式
- 在android系统命令行中执行arm linux程序,出现/system/bin/sh: .xxx No such file or directory问题
- 关于Python中并发调用管道执行外部程序的问题解决
- 配置crontab定时执行调用java程序的shell脚本遇到的问题
- 外部程序(可执行文件)调用的一些问题
- 解决android程序中oncreate方法中调用百度地图MKSearchListener接口不执行的问题
- dos下命令行执行程序时候注意程序所使用文件的路径问题
- shellexecute调用外部程序,程序执行出问题
- Python3 被 PHP 程序调用执行返回乱码问题
- 解决存储过程执行快,但程序调用则执行慢的问题
- 在Sql Server中调用外部EXE执行程序引发的问题
- 解决存储过程执行快,但程序调用则执行慢的问题
- 在putty等远程命令行终端执行带有GUI图形界面的程序找不到$DISPLAY错误的解决办法,xserver相关
- 将java程序生成可执行的jar文件及相关问题
- .NET 数据库存储过程执行快,程序调用存储过程执行慢