Hallo, in meiner Application sende ich die Eingabe (input) in cmd und erhalte anschließend die Ausgabe (output) in richtextbox. Leider kommt die Ausgabe erst nach dem die Eingabe ausgeführt wurde. Das ist unpraktisch, wenn man z.B. Programme wie ffmpeg, youtube-dl, ... verwendet und die Bearbeitung von Videos einige Zeit in Anspruch nimmt, dann weis man nicht, ob das Programm hängt oder nicht.
- Gibt es die Möglichkeit cmd-Ausgabe "Live" abzulesen?
P.S.: wenn es möglich dann bitte ausführlich für Dummies erklären Danke!
- Gibt es die Möglichkeit cmd-Ausgabe "Live" abzulesen?
VB.NET-Quellcode
- Private p As Process
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- p = New Process()
- With p.StartInfo
- .CreateNoWindow = True
- .FileName = "cmd"
- .RedirectStandardInput = True
- .RedirectStandardOutput = True
- .RedirectStandardError = True
- .UseShellExecute = False
- .StandardOutputEncoding = System.Text.Encoding.Default
- End With
- p.Start()
- p.StandardInput.WriteLine("Hier soll der cmd-Befehl sein")
- p.StandardInput.WriteLine("exit")
- RichTextBox1.Text = p.StandardOutput.ReadToEnd()
- End Sub
P.S.: wenn es möglich dann bitte ausführlich für Dummies erklären Danke!