本指南演示了如何在Windows表单控件中捕获和显示从CMD.exe
的实时命令输出。
> 方法:该过程涉及执行命令并按线路处理其输出,并动态更新表单。
步骤:
命令定义:指定命令及其参数。 这些将传递给或Exec.Run()
>方法。Exec.GetOutput()
>
委托创建:创建一个委托以接收每条命令输出作为字符串。该委托充当回调函数。
命令执行:Exec.Run()
>中的参数应设置为Exec.GetOutput()
Exec.Run()
,以进行背景执行。noshow
>
Exec.Run()
true
在代表的方法内:
txt.InvokeRequired
> true
从正确的线程上下文中安全地更新文本框(Invoke()
MethodInvoker
txt
直接更新:false
txt
重要的考虑因素:
<code class="language-csharp">using Exec; using System.Windows.Forms; public partial class Form1 : Form { private void btnExecute_Click(object sender, EventArgs e) { // Access TextBox control (assuming it's named 'txtOutput') TextBox txt = txtOutput; // Replace txtOutput with your TextBox's name // Delegate to handle each line of output OutputHandler outputHandler = line => { if (txt.InvokeRequired) { txt.Invoke(new MethodInvoker(() => txt.AppendText(line))); } else { txt.AppendText(line); } }; // Execute command (replace with your command and path) Exec.Run(@"C:\Windows\System32\cmd.exe", "/c dir", null, outputHandler, true); // noshow = true for background execution } }</code>
错误处理:添加错误处理(例如,
块),以优雅地管理命令执行期间的潜在异常。try-catch
>以上是如何在Windows表单控件中显示实时命令输出?的详细内容。更多信息请关注PHP中文网其他相关文章!