Pie*_*ter 19
CodeProject上有一个很好的例子
祝好运!
-Edit:我认为这更像是它,我创建了一个简单的表单,2个文本框和3个按钮.第一个文本框用于命令输入,第二个(多行)显示结果.
第一个按钮执行命令,第二个按钮更新结果(因为结果被读取为异步)
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
private static StringBuilder cmdOutput = null;
Process cmdProcess;
StreamWriter cmdStreamWriter;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cmdOutput = new StringBuilder("");
cmdProcess = new Process();
cmdProcess.StartInfo.FileName = "cmd.exe";
cmdProcess.StartInfo.UseShellExecute = false;
cmdProcess.StartInfo.CreateNoWindow = true;
cmdProcess.StartInfo.RedirectStandardOutput = true;
cmdProcess.OutputDataReceived += new DataReceivedEventHandler(SortOutputHandler);
cmdProcess.StartInfo.RedirectStandardInput = true;
cmdProcess.Start();
cmdStreamWriter = cmdProcess.StandardInput;
cmdProcess.BeginOutputReadLine();
}
private void btnExecute_Click(object sender, EventArgs e)
{
cmdStreamWriter.WriteLine(textBox2.Text);
}
private void btnQuit_Click(object sender, EventArgs e)
{
cmdStreamWriter.Close();
cmdProcess.WaitForExit();
cmdProcess.Close();
}
private void btnShowOutput_Click(object sender, EventArgs e)
{
textBox1.Text = cmdOutput.ToString();
}
private static void SortOutputHandler(object sendingProcess,
DataReceivedEventArgs outLine)
{
if (!String.IsNullOrEmpty(outLine.Data))
{
cmdOutput.Append(Environment.NewLine + outLine.Data);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在屏幕截图中,您可以看到我输入了cd \命令来更改目录以及在此目录(dir)中执行的下一个命令.
| 归档时间: |
|
| 查看次数: |
13630 次 |
| 最近记录: |