Ich versuche, einen Prozess in C (Java. exe Ausführen einer JAR-Datei) in einem separaten Thread zu starten und seine StandardInput, StandardError und StandardOutput umzuleiten. Ive erfolgreich umleiten StandardError und StandardOutput, aber ich habe Probleme mit StandardInput. Ich beginne den Prozess auf diese Weise: Was ich brauche, ist dann in der Lage sein, in meinem Windows-Formular-Anwendung, eine Textbox und eine Schaltfläche haben, wo ich Befehle eingeben, die an den Prozess StandardInput gesendet werden, aber ich kann keinen Weg finden Um es außerhalb der Aufgabe umzuleiten, von dem, was im aware es erfordert einen streamWriter, aber ich kann nicht finden, einen Weg, um es zu schreiben, wenn es in einem separaten Thread läuft. Gefragt Aug 9 14 um 14:00 Sie können die StandardInput und StandardOutput, bevor sie an die Aufgabe zu bekommen: So, solange der Prozess lebt, können Sie auf ihre Streams zugreifen. Beachten Sie, müssen Sie eine Überprüfung hinzufügen, um sicherzustellen, dass der Prozess noch am Leben ist, und schließlich entsorgen Sie Ihre StreamWriter und StreamReader anstatt mit einem Threadpool-Thread nur zu blockieren Warten auf WaitForExit. Können wir für das asynchrone Process. Exited-Ereignis registrieren: Ich habe eine Konsolenanwendung, die Ich versuche, durch das Umleiten von Standard-Eingabe-Stream des Prozesses zu automatisieren. Im manuellen Modus nach dem Öffnen der Anwendung wartet es auf Benutzereingaben wie unten, habe ich den Prozess mit umgeleiteten Standard-Eingabe-Stream. Das Code-Snippet ist wie folgt, aber die Schaffung Prozess wie diese gibt eine Endlosschleife unten gezeigt, wie Im sending Enter Tastenbefehl kontinuierlich zum Prozess-Eingangsstrom. Kann mir jemand darauf hinweisen, was ich hier falsch mache In ähnlicher Weise ist die Standard-Ausgabe-Stream Umleitung auch nicht funktioniert, nachdem ich Aber ich kann mit dem zu verwalten. Läuft die Umleitung von Standard-Streams mit allen Konsolenanwendungen oder gibt es eine Ausnahme
No comments:
Post a Comment