如何让命令控制台在Windows窗体应用程序中写入行? (Visual c#)

时间:2016-03-02 09:22:45

标签: c# button console command line

基本上我希望用户按下按钮,然后控制台会为用户写下所有相应的行。

这是我写的代码:

    private void button6_Click(object sender, EventArgs e)
    {
        Process Cmd = new Process();
        Cmd.StartInfo.FileName = @"C:\windows\system32\cmd.exe";
        Cmd.Start();
        StreamWriter sw = new StreamWriter(@"C:\windows\system32\cmd.exe");
        {
            sw.WriteLine = ("hello");
        }
    }

我尝试过StreamWriter,但似乎没有合作。

2 个答案:

答案 0 :(得分:0)

你可以做这样的事情

   Process Cmd = new Process();
            Cmd.StartInfo.FileName = @"makecert.exe"; // enter the correct path
            cmd.StartInfo.Argument = "" // pass your aarguemnt
            Cmd.Start();

答案 1 :(得分:0)

您想要的是无法完成的,因为您需要重定向StandardInput以将命令发送到cmd,当您执行此操作时,cmd窗口将关闭。你仍然没有解释你想要什么,但我只能想到两个选择:

  • 创建一个包含您要执行的所有命令的批处理文件,并将其作为参数传递给Process。
  • 重定向StandardInput和StandardOutput。这样你应该注意显示所有cmd消息。这有点乱,可能导致你陷入僵局。

修改

最后,您想要的只是运行带参数的控制台应用程序。这是使用makecert的示例:

Process ppp = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\makecert.exe";
psi.Arguments = "-n 'CN=TempCA' -r -sv TempCA.pvk TempCA.cer";

ppp.StartInfo = psi;
ppp.Start();