2

我的 C# 项目(Windows 窗体应用程序)有问题。我有两个按钮。当我单击第一个时,它将打开 cmd。一切正常。

我想要达到的目标:按钮 2 应该使用打开的 cmd,插入命令并从中收集输出。我不想为每个命令打开 cmd。会有更多带有不同命令的按钮。

可能吗?

private void button3_Click(object sender, EventArgs e)
        {
            string my_script = textBox3.Text;
            System.Windows.Forms.MessageBox.Show(my_id.ToString());

        }

        public int my_id;
        public void connection_Click(object sender, EventArgs e)
        {

            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.FileName = "cmd.exe";
            System.Diagnostics.Process process = new System.Diagnostics.Process();
            process.StartInfo = startInfo;
            process.Start();
            my_id = process.Id;
    }
4

2 回答 2

2

也许你最好在你的应用程序中嵌入一个控制台,尝试与外部控制台通信。

阅读: http: //www.codeproject.com/Articles/335909/Embedding-a-Console-in-aC-Application

于 2013-04-10T15:16:42.870 回答
2

您可以使用 process.StandardInput 发送命令以执行 cmd.exe,并使用 process.StandardOutput 来读取结果。

于 2013-04-10T15:19:02.723 回答