guten tag,
ich brauche mal eure hilfe...
ich bin ein ziemlicher neu einsteiger in vb.net. ich will mit vb.net ein kommandozeilenprogramm aufrufen und ihm argumente mit geben mit meinem vb.net programm.
soweit so gut alles funktioniert wunderbar.
Problem an der sache ist, dass der ping befehl durch das anhängsel "-t" dauerthaft ausgeführt wird.
momentan ist es so das sich mein programm aufhängt bzw. sozusagen wartet bis der prozess fertig ist.
ich würde aber gerne alle sekunde einmal die letzte ausgabe ausgeben.
wie kann ich so etwas realisieren?
oder mir würde es auch reichen z.b. alle 5 sekunden oder meinetwegen auch synchron immer die neuen ausgaben auszulesen oder gar alle ausgaben einfach in mein lbl_ausgabe umleiten(sodass ein ping nach dem anderen da hin kommt und nicht gewartet wird auf prozess ende).
Ich hoffe Ihr könnt mir helfen. Vielen dank schon mal im vorraus
MFG
sweety321
ich brauche mal eure hilfe...
ich bin ein ziemlicher neu einsteiger in vb.net. ich will mit vb.net ein kommandozeilenprogramm aufrufen und ihm argumente mit geben mit meinem vb.net programm.
soweit so gut alles funktioniert wunderbar.
Code:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Neuen Prozess erstellen
'
Dim programm As Process = New Process
' Prozess Details
programm.StartInfo.FileName = "ping"
programm.StartInfo.CreateNoWindow = True
programm.StartInfo.UseShellExecute = False
programm.StartInfo.Arguments = "computerbase.de -t"
' Prozess ein und ausgaben nutzbar machen
programm.StartInfo.RedirectStandardInput = True
programm.StartInfo.RedirectStandardOutput = True
programm.StartInfo.RedirectStandardError = True
' Prozess Starten
programm.Start()
' Input Variable
Dim StdIn As System.IO.StreamWriter = programm.StandardInput
StdIn.AutoFlush = True ' Puffer automatisch flushen
' Output Variable
Dim StdOut As System.IO.StreamReader = programm.StandardOutput
' Error Variable
Dim StdErr As System.IO.StreamReader = programm.StandardError
' Ausgabe
lbl_ausgabe.Text = StdOut.ReadToEnd & StdErr.ReadToEnd
' Streams schließen
StdIn.Close()
StdOut.Close()
StdErr.Close()
'
' Neuen Prozess erstellen ende
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Problem an der sache ist, dass der ping befehl durch das anhängsel "-t" dauerthaft ausgeführt wird.
momentan ist es so das sich mein programm aufhängt bzw. sozusagen wartet bis der prozess fertig ist.
ich würde aber gerne alle sekunde einmal die letzte ausgabe ausgeben.
wie kann ich so etwas realisieren?
oder mir würde es auch reichen z.b. alle 5 sekunden oder meinetwegen auch synchron immer die neuen ausgaben auszulesen oder gar alle ausgaben einfach in mein lbl_ausgabe umleiten(sodass ein ping nach dem anderen da hin kommt und nicht gewartet wird auf prozess ende).
Ich hoffe Ihr könnt mir helfen. Vielen dank schon mal im vorraus
MFG
sweety321
Zuletzt bearbeitet: