Hey liebe Community
Hab heute mal eine Frage an euch von der ihr bestimmt schonmal gehört habt denn es gab dazu schon mehrere Einträge hier im Forum. Natürlich habe ich mir alles gefundene angeschaut aber leider trotzdem keine Lösung für mein Problem gefunden deshalb erstelle ich nochmal ein neues Thema
Mein Ziel: Öffnen einer CMD in einem Prozess & dann auslesen aller Zeilen der CMD in eine Listbox oder Textbox
Dafür habe ich jetzt probiert, auch mit Hilfe der anderen Forumeinträge, einen Code zu schreiben. Das ist mein Ergebnis:
Mit diesem Code funktioniert eigentlich alles Perfekt(=Also öffnen der CMD, zeilen reinschreiben usw). Das Problem ist dass mir alle Zeilen der CMD in der Listbox erst nach dem schließen der CMD angezeigt werden
Meine Frage: Habt ihr eine Idee wie das "Live" geht, also wenn im CMD fenster etwas ausgegeben wird, dass diese Zeile direkt auch in die Listbox ausgelesen wird?
Hoffe ihr könnt mir helfen MFG
Hab heute mal eine Frage an euch von der ihr bestimmt schonmal gehört habt denn es gab dazu schon mehrere Einträge hier im Forum. Natürlich habe ich mir alles gefundene angeschaut aber leider trotzdem keine Lösung für mein Problem gefunden deshalb erstelle ich nochmal ein neues Thema
Mein Ziel: Öffnen einer CMD in einem Prozess & dann auslesen aller Zeilen der CMD in eine Listbox oder Textbox
Dafür habe ich jetzt probiert, auch mit Hilfe der anderen Forumeinträge, einen Code zu schreiben. Das ist mein Ergebnis:
VB.NET-Quellcode
- Dim Output As System.IO.StreamReader
- With p.StartInfo
- .CreateNoWindow = False 'Aus DEbugzwecken auf False
- .WorkingDirectory = "" & My.Settings.Serverstart & ""
- Logme("setze abrbeitspfad auf " & My.Settings.Serverstart & "", 0) 'Einfach ein Log net wundern
- .FileName = "cmd"
- .RedirectStandardInput = True 'Hab ich auf true gesetzt
- .RedirectStandardOutput = True
- .UseShellExecute = False
- End With
- p.Start()
- Output = p.StandardOutput
- Logme("Starte Prozess", 0)
- Logme("ProzessID: " & p.Id.ToString, 0)
- Logme("ProzessName: " & p.ProcessName, 0)
- Await Task.Delay(20)
- p.StandardInput.WriteLine("cd " & My.Settings.Serverstart)
- p.StandardInput.WriteLine("java -Xmx" & Auslesen(4) & " -jar " & My.Settings.Serverstart & "\" & Auslesen(3) & "
")
- Logme("starte Server mit : p.StandardInput.WriteLine(java -Xmx" & Auslesen(4) & "G -jar " & My.Settings.Serverstart & "\" & Auslesen(3) & "
", 0)
- p.StandardInput.WriteLine("exit")
- Do
- Try
- TextBox7.Text = TextBox7.Text & vbNewLine & Output.ReadLine
- Catch ex As Exception
- End Try
- Loop
Mit diesem Code funktioniert eigentlich alles Perfekt(=Also öffnen der CMD, zeilen reinschreiben usw). Das Problem ist dass mir alle Zeilen der CMD in der Listbox erst nach dem schließen der CMD angezeigt werden
Meine Frage: Habt ihr eine Idee wie das "Live" geht, also wenn im CMD fenster etwas ausgegeben wird, dass diese Zeile direkt auch in die Listbox ausgelesen wird?
Hoffe ihr könnt mir helfen MFG