在C#中调用控制台程序
需求: 想在C#中调用一个带有参数 dos命令 whoami,并处理返回的文本信息
调查: 一查看 发现是个 .exe 的问件, 并且这个.exe可以根据不同的参数,得到不同的系统信息
解决方案:参考的网页我放到了文章的末尾
关键代码:
新建了个窗体程序,代码在载入窗体的时候执行,只是个小demo,就不多说了
private void Form1_Load(object sender, EventArgs e) {
//实例化一个进程类
Process cmd = new Process();
//定义要调用的程序名称
cmd.StartInfo.FileName = "whoami.exe";
//定义要传入的参数
cmd.StartInfo.Arguments = "/user";
// 标准输入输出重定向到.net
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
//不显示窗口界面
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
//启动程序
cmd.Start();
//将dos命令产生的信息打印到窗口, 用一个textBox来接收
this.textBox1.Text = cmd.StandardOutput.ReadToEnd();
cmd.WaitForExit();
cmd.Close();
}