private void Button_Click(object sender, RoutedEventArgs e)
{
var runProcess = new Process();
string cmd = "ping 10.10.10.2";
{
var runProcess = new Process();
string cmd = "ping 10.10.10.2";
var config = new ProcessStartInfo("cmd.exe"); //执行的程序,这里是cmd.exe命令行工具
config.RedirectStandardInput = true; //重定向命令行的输入流,以便我们可以通过程序输入命令以模仿手工输入
config.RedirectStandardOutput = true; //输出流重定向,保证可以获取命令行执行命令后的输出结果
config.UseShellExecute = false; //不显示命令行运行窗口?
config.CreateNoWindow = true; //不显示命令行运行窗口
runProcess.StartInfo = config;
runProcess.OutputDataReceived += runProcess_OutputDataReceived; //注册输出流事件,一旦命令行输出信息,可以从中取出信息
runProcess.Start();
runProcess.StandardInput.WriteLine(cmd); //输入各种控制命令
runProcess.BeginOutputReadLine(); //开始读取输出信息。这是个关键的步骤,否则不触发任何输出事件
}
}
void runProcess_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
string s = e.Data;
Dispatcher.BeginInvoke(new Action(() => output.Text += e.Data+System.Environment.NewLine));
}
{
string s = e.Data;
Dispatcher.BeginInvoke(new Action(() => output.Text += e.Data+System.Environment.NewLine));
}