是否可以将.NET System.Diagnostics.Process对象附加到正在运行的进程?

问题描述:

假设我想通过System.Diagnostics.Process类的属性来检查当前正在执行的进程。是否可以使用该进程加载该类的实例(即以某种方式将Process对象附加到进程),还是必须使用Start方法启动它?是否可以将.NET System.Diagnostics.Process对象附加到正在运行的进程?

如果你知道PID:

Process p = Process.GetProcessById(id); 

如果你知道这个名字:

Process p = Process.GetProcessesByName(name).FirstOrDefault(); 

您无法附加到它,但您可以使用Process.GetProcesses方法来枚举机器上的所有正在运行的进程。其中之一将是您正在寻找的过程。

var list = System.Diagnostics.Process.GetProcesses(); 
foreach (var proc in list) { 
    // Determine if it's the process and use it 
}