C# 在opened cmd中运行该命令

C# 在opened cmd中运行该命令,c#,winforms,process,C#,Winforms,Process,我的C#项目(Windows窗体应用程序)有问题。 我有两个按钮。当我点击第一个按钮时,它会打开cmd。一切正常 我想达到的目标: 按钮2应使用打开的cmd、insert命令并从中收集输出。我不想为每个命令打开cmd。将有更多具有不同命令的按钮 可能吗 private void button3_Click(object sender, EventArgs e) { string my_script = textBox3.Text;

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

我想达到的目标: 按钮2应使用打开的cmd、insert命令并从中收集输出。我不想为每个命令打开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;
    }

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


阅读此文:

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



阅读此内容:

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

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

您正在使用
cmd
窗口执行SQL语句?您希望运行哪种类型的命令?搜索“捕获控制台输出”,您将发现一系列解决方案查看此处我不希望将其用于SQL语句。我想添加几个按钮。它们中的每一个都应该运行不同的命令。例如,按钮2将运行命令“systeminfo”,按钮3将运行命令“hostname”等等…您正在使用
cmd
窗口执行SQL语句?您希望运行哪种类型的命令?搜索“捕获控制台输出”,您将发现一组解决方案查看此处我不想将其用于SQL语句。我想添加几个按钮。它们中的每一个都应该运行不同的命令。例如,按钮2将运行命令“systeminfo”,按钮3将运行命令“hostname”,等等…嗯,有趣的是,我将不得不更深入地阅读它。看到控制台对我来说并不重要。命令可以在后台运行。如果没有更容易的事情,这也会有所帮助。我会让你知道的。谢谢你的回复。也就是说,在大多数情况下,这将符合这样的要求。你应该解释你必须运行什么样的命令来帮助我们理解你的目标;点击按钮2-命令“系统信息”将在打开的命令中执行;单击按钮3-命令“hostname”将在打开的cmdhmmm中执行。有趣的是,我必须更深入地阅读它。看到控制台对我来说并不重要。命令可以在后台运行。如果没有更容易的事情,这也会有所帮助。我会让你知道的。谢谢你的回复。也就是说,在大多数情况下,这将符合这样的要求。你应该解释你必须运行什么样的命令来帮助我们理解你的目标;点击按钮2-命令“系统信息”将在打开的命令中执行;单击按钮3-将在打开的cmd中执行命令“hostname”,问题是我不想用每个按钮启动cmd。我想打开它一次,其他按钮应该只向这个打开的控制台发送命令。你不需要每次点击按钮都启动它。第一次使用/K参数打开它,这样它就不会自动关闭。然后编写命令以处理.StandardInput。这就像是直接在cmd窗口中输入。对不起,我是编程新手。我怎么做?我将尝试添加我所拥有的全部代码,给我一秒钟您可以在您的类中创建一个字段
进程
,将其分配给新进程一次,然后将数据写入进程。按钮处理程序的StandardInput。好的,非常感谢,我将尝试,但我不确定是否会成功,无论如何,现在非常感谢你们,问题是我不想用每个按钮启动cmd。我想打开它一次,其他按钮应该只向这个打开的控制台发送命令。你不需要每次点击按钮都启动它。第一次使用/K参数打开它,这样它就不会自动关闭。然后编写命令以处理.StandardInput。这就像是直接在cmd窗口中输入。对不起,我是编程新手。我怎么做?我将尝试添加我所拥有的全部代码,给我一秒钟您可以在您的类中创建一个字段
进程
,将其分配给新进程一次,然后将数据写入进程。按钮处理程序的StandardInput。好的,非常感谢,我会尝试,但我不确定是否会成功,无论如何,现在非常感谢您