c#.net编写一段代码执行.\MinGW\bin\g++.exe file.cpp -o file,并显示控制台窗口
时间: 2023-07-13 20:33:46 浏览: 185
你可以使用 C# 中的 Process 类来执行命令,并且可以设置启动进程时显示控制台窗口。下面是一个示例代码:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
string command = @".\MinGW\bin\g++.exe file.cpp -o file";
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c " + command;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = false; // 设置为 true 表示隐藏控制台窗口,false 表示显示控制台窗口
process.Start();
string output = process.StandardOutput.ReadToEnd();
Console.WriteLine(output);
process.WaitForExit();
process.Close();
}
}
```
在上面的代码中,我们使用 Process.Start 方法启动一个新的进程,并将命令交给 cmd.exe 执行。其中,/c 选项表示执行完命令后退出 cmd.exe。设置 UseShellExecute 属性为 false,可以让应用程序直接调用可执行文件,而不是通过操作系统的 shell 来启动进程。设置 RedirectStandardOutput 属性为 true,可以捕获进程的标准输出流。设置 CreateNoWindow 属性为 false,可以在启动进程时显示控制台窗口。最后,使用 StandardOutput.ReadToEnd 方法获取进程的标准输出,并输出到控制台。
阅读全文