C# 打开CMD如何实时刷新
时间: 2024-10-20 09:04:22 浏览: 12
c#实现实时显示cmd操作
5星 · 资源好评率100%
在 C# 中,使用 `System.Diagnostics.Process` 类来创建一个后台运行的命令提示符 (CMD),并在程序中监听其输出,可以实现实时更新的效果。下面是一个基本的例子,展示了如何做到这一点:
```csharp
using System;
using System.Diagnostics;
class Program
{
private Process cmdProcess;
public static void Main()
{
var program = new Program();
program.RunCommandPrompt("dir"); // 运行命令
}
public void RunCommandPrompt(string command)
{
// 创建过程实例,用于运行CMD
cmdProcess = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
Arguments = $"/K {command}", // 添加你需要的命令并保持窗口开启
RedirectStandardOutput = true, // 输出重定向
UseShellExecute = false,
CreateNoWindow = true, // 隐藏命令窗口
StandardOutputEncoding = Encoding.UTF8
}
};
cmdProcess.OutputDataReceived += CommandPrompt_OutputReceived;
// 启动CMD并开始接收输出
cmdProcess.Start();
cmdProcess.BeginOutputReadLine();
// 程序会一直等待,直到命令完成
cmdProcess.WaitForExit();
}
private void CommandPrompt_OutputReceived(object sender, DataReceivedEventArgs e)
{
// 接收CMD输出并打印到控制台
if (!string.IsNullOrEmpty(e.Data))
Console.WriteLine($"接收到的输出:{e.Data}");
}
}
```
每次调用 `RunCommandPrompt` 函数并传入不同的命令时,CMD窗口就会隐藏在后台,并且程序会实时打印接收到的输出。
阅读全文