WinFormsApp_OperateAndInputCMD:
新建Form1,拖入TextBox,并设为允许多行,Dock设为Fill,然后绑定KeyUp事件即可
执行代码如下:
private void txtCmdInput_KeyUp(object sender, KeyEventArgs e)
{ if (e.KeyCode == Keys.Enter) { int count = txtCmdInput.Lines.Length;if (count == 0) return;
while (count > 0 && (string.IsNullOrEmpty(txtCmdInput.Lines[count - 1])))
{count--;
}
if (count > 0)// && !string.IsNullOrEmpty(txtCmdInput.Lines[count - 1]))
ExecuteCmd(txtCmdInput.Lines[count - 1]);
}
}
public void ExecuteCmd(string cmd)
{ System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); //设置自动刷新缓冲并更新 p.StandardInput.AutoFlush = true; //写入命令
p.StandardInput.WriteLine(cmd);
p.StandardInput.WriteLine("exit"); //等待结束
txtCmdInput.AppendText(p.StandardOutput.ReadToEnd());
p.WaitForExit();
p.Close();
}
执行效果图:

浙公网安备 33010602011771号