c#启动exe 非子进程
时间: 2023-07-16 12:13:34 浏览: 130
在 C# 中启动一个独立的进程,可以使用 `Process.Start()` 方法。这个方法会返回一个 `Process` 对象,该对象可以用于控制新进程的行为。
下面是一个简单的例子,演示如何启动一个独立的进程并等待它完成:
```csharp
using System.Diagnostics;
class Program {
static void Main(string[] args) {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.Arguments = "example.txt";
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
}
}
```
在这个例子中,我们启动了一个新的记事本进程,并传递了一个文件名作为参数。然后,我们等待这个进程完成。注意,`WaitForExit()` 方法会阻塞当前线程,直到进程退出。
如果你想在启动的进程中隐藏控制台窗口,可以将 `ProcessStartInfo` 的 `CreateNoWindow` 和 `UseShellExecute` 属性都设置为 `true`,并将 `RedirectStandardOutput` 和 `RedirectStandardError` 属性都设置为 `false`。例如:
```csharp
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "myprogram.exe";
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = true;
startInfo.RedirectStandardOutput = false;
startInfo.RedirectStandardError = false;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
```
阅读全文