本帖最后由 getstr88 于 2022-5-23 13:33 编辑
你这段代码,我实际运行,还是一个字都出不来
[C#] 纯文本查看 复制代码 private void BtnPowerShellStart_Click(object sender, EventArgs e)
{
string strInput = "ping www.baidu.com";
Process p = new Process();
//设置要启动的应用程序
p.StartInfo.FileName = "powershell.exe";
//是否使用操作系统shell启动
p.StartInfo.UseShellExecute = false;
// 接受来自调用程序的输入信息
p.StartInfo.RedirectStandardInput = true;
//输出信息
p.StartInfo.RedirectStandardOutput = true;
// 输出错误
p.StartInfo.RedirectStandardError = true;
//不显示程序窗口
p.StartInfo.CreateNoWindow = true;
//启动程序
p.OutputDataReceived += (sender2, e2) =>
{
string outString = e2.Data;
Debug.WriteLine(outString);
AppendToConsole(outString);
};
p.Start();
p.BeginOutputReadLine();
p.StandardInput.WriteLine(strInput);
p.StandardInput.AutoFlush = true;
//p.WaitForExit();
p.Close();
}
public void AppendToConsole(string text)
{
// 让富文本框获取焦点
RtxConsole.Focus();
// 设置光标的位置到文本结尾
RtxConsole.Select(RtxConsole.TextLength, 0);
// 滚动到富文本框光标处
RtxConsole.ScrollToCaret();
// 追加内容
RtxConsole.AppendText(text);
// 换行
RtxConsole.AppendText(Environment.NewLine);
// 刷新UI
RtxConsole.Refresh();
} |