C# 监听process
时间: 2023-07-12 14:10:11 浏览: 63
在C#中,可以使用System.Diagnostics命名空间下的Process类来监听进程。具体实现步骤如下:
1. 实例化Process类,设置需要监听的进程名称或进程ID。
```csharp
Process process = new Process();
process.StartInfo.FileName = "notepad.exe"; // 设置需要监听的进程名称
```
2. 注册Process类的Exited事件,该事件会在进程退出时触发。
```csharp
process.EnableRaisingEvents = true;
process.Exited += new EventHandler(process_Exited);
```
3. 定义Exited事件的处理函数,处理进程退出时的操作。
```csharp
private void process_Exited(object sender, EventArgs e)
{
Console.WriteLine("进程已退出");
}
```
完整代码示例:
```csharp
using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process process = new Process();
process.StartInfo.FileName = "notepad.exe"; // 设置需要监听的进程名称
process.EnableRaisingEvents = true;
process.Exited += new EventHandler(process_Exited);
process.Start();
Console.ReadLine();
}
private static void process_Exited(object sender, EventArgs e)
{
Console.WriteLine("进程已退出");
}
}
```
在上述代码中,程序启动后会打开记事本进程,并监听该进程的退出事件。当用户手动关闭记事本时,程序会输出"进程已退出"的信息。