4

我有一个 Windows 控制台应用程序(接受参数)并运行一个进程。我想知道是否有任何方法可以从 Windows 窗体按钮单击事件中运行此应用程序。我也想向它传递一个论点。

谢谢

4

3 回答 3

7

只需将System.Diagnostics.Process.Start与控制台应用程序的路径一起使用,并将参数作为第二个参数。

于 2009-08-14T00:29:11.977 回答
4

假设您有一个带有名为 txtOutput 的多行文本框的表单.....

private void RunCommandLine(string commandText)
    {
        try
        {
            Process proc = new Process();
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.Arguments = "/c " + commandText;
            txtOutput.Text += "C:\\> " + commandText + "\r\n";
            proc.Start();
            txtOutput.Text += proc.StandardOutput.ReadToEnd().Replace("\n", "\r\n");
            txtOutput.Text += proc.StandardError.ReadToEnd().Replace("\n", "\r\n");
            proc.WaitForExit();
            txtOutput.Refresh();
        }
        catch (Exception ex)
        {
            txtOutput.Text = ex.Message;
        }
    }
于 2009-08-14T05:03:26.163 回答
1

你会想要使用 System.Diagnostics.Process

于 2009-08-14T00:26:53.153 回答