Frage

Ich versuche, mit der Windows-Eingabeaufforderung von Code zu interagieren. Mein Ziel ist es, die Eingabeaufforderung angezeigt, in einem gewissen Befehl setzen, die Ausgabe anzuzeigen, und wiederholt. Aber kann nicht scheinen, um die ersten drei Arbeits zur gleichen Zeit zu bekommen.

      private void button2_Click(object sender, EventArgs e)
      {
        Process proc = new Process();
        proc.StartInfo.FileName = "cmd";
        proc.StartInfo.CreateNoWindow = true;
        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.RedirectStandardOutput = true;
        proc.StartInfo.RedirectStandardInput = true;

        proc.Start();
        StreamReader k = new StreamReader(proc.StandardOutput.BaseStream);

        textBox2.Text = k.ReadToEnd();            
       }

Der obige Code hängt gerade. Wenn ich nicht RedirectStandardInput gesetzt, dann kann ich die gesamte Eingabeaufforderung angezeigt werden soll. Und wenn ich das Drehbuch für StandardInput schließen kann ich einen Befehl erhalten zu laufen, aber ohne die Aufforderung zu sehen, oder es wiederholen zu können. Also, wie kann ich die Eingabeaufforderung zu zeigen, zu erhalten, führen Sie einen Befehl, und zeigt die Ausgabe ... wiederholt?

Ich hoffe, die Befehlszeile Verhalten von Console2 zu reproduzieren, aber ich bin ein wenig überwältigt von es ist Quellcode.

War es hilfreich?

Lösung

Überprüfen Sie http://www.codeproject.com/cs/library/CommandLineHelper. asp

[marc_s], dass URL führt zu einer 404-Seite nicht gefunden.

Die richtige URL am wahrscheinlichsten ist: http://www.codeproject.com/ KB / string / CommandLineHelper.aspx

Andere Tipps

Ich denke, man kann nicht. Wenn Sie die Konsole Eingabeaufforderung zeigen, wont Sie in der Lage sein, die Ausgabe zu lesen. Ich glaube, Sie müssen Ihre eigene Eingabeaufforderung ziehen, wenn Ihre die Ausgabe eines Prozesses zu lesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top