请叫关于运行p.StandardOutput.ReadToEnd();后无响应的有关问题

请叫关于运行p.StandardOutput.ReadToEnd();后无响应的问题
您好,我写了调用CMD更改ip地址并隐藏cmd窗口的代码,运行后可以成功更改IP地址,可是之后程序就无响应了,只能强行关闭,请问有没有解决方法?

 private void button2_Click(object sender, EventArgs e)
  {
  System.Diagnostics.Process a = new System.Diagnostics.Process();

  a.StartInfo.FileName = "cmd.exe";//要执行的程序名称
  a.StartInfo.UseShellExecute = false;
  a.StartInfo.RedirectStandardInput = true;//可能接受来自调用程序的输入信息
  a.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息
  p.StartInfo.CreateNoWindow = true;//不显示程序窗口
  a.Start();//启动程序
  //向CMD窗口发送输入信息:
  a.StandardInput.WriteLine("netsh interface ip set address \"无线网络连接\" dhcp");
  a.StandardOutput.ReadToEnd();
   
  }


------解决方案--------------------
知道了,结束后应该关闭cmd.exe