C# 重复打开某个软件默认打开之前的软件
时间: 2023-12-06 08:17:34 浏览: 36
在 C# 中,如果需要重复打开某个软件但是希望每次都是打开一个新的软件实例,可以使用 Process 类的 StartNewProcess 属性。该属性指定是否在新进程中启动组件。如果为 true,则组件在新进程中启动;否则,在已存在的进程中启动。
以下是一个示例代码:
```csharp
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 5; i++)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "notepad.exe";
startInfo.UseShellExecute = true;
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.Arguments = @"C:\test.txt";
startInfo.StartInfo = startInfo;
Process.Start(startInfo);
}
}
}
```
在上面的示例代码中,使用 ProcessStartInfo 对象的 CreateNoWindow 设置为 true,同时 WindowStyle 设置为 Normal,这样就可以在新的进程中启动组件,而不是在已存在的进程中启动。此外,还可以设置 UseShellExecute 属性为 true,以便在新的进程中启动组件。
注意,在为 Process.Start() 方法传递 ProcessStartInfo 对象之前,需要先将该对象的 StartInfo 属性设置为自身,以便在启动新的进程时使用该对象的属性。因此,需要先将 ProcessStartInfo 对象赋值给 startInfo 变量,然后再将其赋值给 StartInfo 属性。