Pregunta

Estoy intentando interactuar con el símbolo del sistema de Windows desde el código. Mi objetivo es mostrar el mensaje, poner algún comando, mostrar el resultado y repetir. Pero parece que los primeros tres no funcionan al mismo tiempo.

      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();            
       }

El código anterior simplemente se cuelga. Si no configuro RedirectStandardInput, entonces puedo mostrar la solicitud completa. Y si cierro el escritor para StandardInput, puedo obtener un comando para ejecutar, pero sin ver el mensaje o sin poder repetirlo. Entonces, ¿cómo puedo obtener el mensaje para mostrar, ejecutar un comando y mostrar la salida ... repetidamente?

Espero reproducir el comportamiento de la línea de comandos de Console2 pero estoy un poco abrumado por es el código fuente.

¿Fue útil?

Solución

Marque http://www.codeproject.com/cs/library/CommandLineHelper. asp

[marc_s] esa URL da como resultado una página 404 no encontrada.

La URL correcta más probable es: http://www.codeproject.com/ KB / string / CommandLineHelper.aspx

Otros consejos

Creo que no puedes. Si muestra el símbolo del sistema de la consola, no podrá leer la salida. Creo que necesita dibujar su propio símbolo del sistema si está leyendo la salida de un proceso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top