standard output

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von timmi31061.

    standard output

    hallo

    ich habe bestimmt tausend links auf google geklickt ohne daraus erfolgreich zu sein.

    ich möchte ein process starten das in der console läuft und die ausgabe in eine textbox in meinem form einfügen.

    eigentlich ist das ziemlich einfach (dachte ich) und nach 2 tagen habe ich es dennoch nicht geschaft.

    ich habe deutsche und englische suchbegriffe genutzt und alles versucht.

    die console startet aber ich bekome den output nicht in meine textbox.

    bitte bitte bitte gebt mir ein schnipsel der funktioniert. ;(
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    danke für deine antwort

    ich war wohl nicht ausführlich genug

    ich muss noch parameter an die console sende (-x bla bla -y blob blobb)

    und ich bin wahrscheinlich einfach zu müde um das zu verstehen was hinter dem link steckt den du mir gegeben hast.

    wie bekomme ich den output in meine textbox
    Schau, hier wird die Start-Info des Processes festgelegt.

    VB.NET-Quellcode

    1. Dim NewProcess As New System.Diagnostics.Process()
    2. With NewProcess.StartInfo
    3. .FileName = EXE_PATH
    4. .RedirectStandardOutput = True
    5. .RedirectStandardError = True
    6. .RedirectStandardInput = True
    7. .UseShellExecute = False
    8. .WindowStyle = ProcessWindowStyle.Normal
    9. .CreateNoWindow = False
    10. End With

    Nun musst du lediglich die Argumente hinzufügen.
    Dies erledigt du indem du .Arguments = "-x=blabla" hinzufügst.
    Der Rest sollte wie im Link beschrieben funktionieren.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    nureinefrage schrieb:

    ich möchte ein process starten das in der console läuft

    nureinefrage schrieb:

    ich muss noch parameter an die console sende
    An die Console
    oder an den Prozess?

    VB.NET-Quellcode

    1. Dim NewProcess As New System.Diagnostics.Process()
    2. With NewProcess.StartInfo
    3. .FileName = EXE_PATH
    4. .Arguments = "-x bla bla -y blob blobb"
    5. .RedirectStandardOutput = True
    6. .RedirectStandardError = True
    7. .RedirectStandardInput = True
    8. .UseShellExecute = False
    9. .WindowStyle = ProcessWindowStyle.Normal
    10. .CreateNoWindow = False
    11. End With
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Dafür siehe den Rest des Links.
    Der ganze Output wird im Stringbuilder processOutput angegeben.
    bzw. falls du den Link nicht ganz verstehs, von welchem Code ich rede:

    VB.NET-Quellcode

    1. Private Shared processOutput As StringBuilder = Nothing
    2. Public Shared Sub StartSomeProcess()
    3. processOutput = new StringBuilder()
    4. Dim NewProcess As New System.Diagnostics.Process()
    5. With NewProcess.StartInfo
    6. .FileName = "PFAD ZUR ANWENDUNG"
    7. .Arguments = "x-blabla"
    8. .RedirectStandardOutput = True
    9. .RedirectStandardError = True
    10. .RedirectStandardInput = True
    11. .UseShellExecute = False
    12. .WindowStyle = ProcessWindowStyle.Normal
    13. .CreateNoWindow = False
    14. End With
    15. ' Set our event handler to asynchronously read the sort output.
    16. AddHandler NewProcess.OutputDataReceived, AddressOf OutputHandler
    17. NewProcess.Start()
    18. NewProcess.BeginOutputReadLine()
    19. NewProcess.WaitForExit()
    20. MsgBox(processOutput.ToString())
    21. End Sub
    22. Private Shared Sub OutputHandler(sendingProcess As Object, outLine As DataReceivedEventArgs)
    23. ' Collect the sort command output.
    24. If Not String.IsNullOrEmpty(outLine.Data) Then
    25. ' Add the text to the collected output.
    26. processOutput.AppendLine(outLine.Data)
    27. End If
    28. End Sub

    Quelle:stackoverflow.com/questions/99…ad-console-process-output

    Siehe auch: msdn.microsoft.com/en-us/libra…putdatareceived.aspx#Y242

    Das Einzige was du jetzt noch tun musst, ist den Stringbuilder auszulesen.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    man ich bin fast am heulen und kurz vor einem nervenzusammenbruch


    ich abe eine form mit einem buttom und einer texbox (multiline)

    wenn ich auf den button klicke soll eine schleife starten die alles ausliest was in der console kommt und es in textbox1 einfügen


    bitte sag mir wie bevor ich noch durchdrehe ;( ;( ;( ;(


    ich weiss einfach nicht e ich den code einsetzen soll
    Er hat dir jetzt sogar schon CP-fertigen Code gegeben. Wenn du keine Ahnung hast, wie man den einfügt, solltest du evtl. bei den Grundlagen anfangen. Dazu ist dieses kostenlose Buch hilfreich. Wenn du einfach nur ein funktionierendes Programm haben möchtest, aber keine Programmiersprache lernen möchtest, gehe zum Marktplatz.
    Mit freundlichen Grüßen,
    Thunderbolt