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();
}
执行效果图:
本文介绍在.NET程序中,如何通过WinForms应用程序操作并输入CMD命令。通过创建Form1,使用TextBox接收多行输入,绑定KeyUp事件,实现命令的即时执行与输出。详细展示了如何使用System.Diagnostics命名空间下的Process类来启动cmd.exe,发送命令并读取输出。

734

被折叠的 条评论
为什么被折叠?



