Pergunta

Eu estou tentando interagir com as janelas prompt de comando a partir do código. Meu objetivo é exibir o prompt, colocar em algum comando, exibir a saída, e repita. Mas parece que não consegue obter os três primeiros a trabalhar ao mesmo tempo.

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

O código acima só trava. Se eu não definir RedirectStandardInput, então eu posso mostrar todo o prompt. E se eu fechar o escritor para standardInput posso obter um comando para executar, mas sem ver o aviso, ou ser capaz de repeti-la. Então, como posso obter o prompt para mostrar, executar um comando, e mostrar a saída ... repetidamente?

Estou esperando para reproduzir o comportamento da linha de comando Console2 mas estou um pouco sobrecarregado por seu código-fonte.

Foi útil?

Solução

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

[marc_s] que os resultados de URL em um 404-página não encontrada.

O URL direita mais provável é: http://www.codeproject.com/ KB / string / CommandLineHelper.aspx

Outras dicas

Eu acho que você não pode. Se você mostrar o Prompt de comando do console, você não será capaz de ler a saída. Eu acho que você precisa desenhar o seu próprio prompt de comando se o seu ler a saída de um processo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top