c#启动exe 非子进程
时间: 2023-08-02 17:13:35 浏览: 167
可以使用C#中的Process类来启动一个外部的可执行文件(.exe文件),并且不作为当前进程的子进程运行。以下是一个简单的示例代码:
```csharp
using System.Diagnostics;
// ...
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "path/to/your/executable.exe";
startInfo.UseShellExecute = false;
Process process = Process.Start(startInfo);
```
在上面的代码中,我们首先创建了一个ProcessStartInfo对象,然后设置了要启动的可执行文件的路径和一些其他选项。其中,UseShellExecute属性设置为false,这将禁用使用操作系统的 shell 来启动进程。
然后,我们调用Process类的静态方法Start,传递我们刚刚创建的ProcessStartInfo对象作为参数。这将启动一个新的进程来运行我们指定的可执行文件。
请注意,这将启动一个全新的进程,并且不会作为当前进程的子进程运行,因此您不能直接与该进程通信。如果需要与该进程进行通信,请考虑使用进程间通信(IPC)技术,例如命名管道、共享内存等。
相关问题
c#启动exe
要在C#中启动一个.exe文件,可以使用Process类。以下是一个简单的示例:
```csharp
using System.Diagnostics;
// ...
string path = @"C:\path\to\myfile.exe";
Process.Start(path);
```
这将启动指定路径的.exe文件。如果您需要向.exe文件传递参数,可以在启动进程时指定它们:
```csharp
string path = @"C:\path\to\myfile.exe";
string arg1 = "argument1";
string arg2 = "argument2";
Process.Start(path, $"{arg1} {arg2}");
```
这将启动.exe文件并将两个参数传递给它。
c#启动exe 不用子进程的方式启动
可以使用System.Diagnostics.Process类来启动exe文件,不必创建子进程。以下是示例代码:
```csharp
// 设置启动信息
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "your_file_path.exe";
// 可选设置参数
psi.Arguments = "arg1 arg2";
// 创建进程并启动
Process process = new Process();
process.StartInfo = psi;
process.Start();
```
需要注意的是,这种方式启动的exe文件会在当前进程中运行,如果你希望程序能够一直运行,那么需要在你的程序中添加相应的代码进行处理。
阅读全文