C#获取另一个进程打开的进程

时间:2015-03-04 14:34:48

标签: c# process system.diagnostics

我正在寻找一种方法来查看流程是否启动/触发其他流程。谷歌浏览器是我正在寻找的一个很好的例子:

Process p = new Process();
p.StartInfo.FileName = "chrome.exe";
p.Start();

启动chrome时会有一个PID,但它似乎就像这个过程只是触发其他(后台)进程然后立即结束(没有PID引用?)。

我可以假设任何'chrome'进程带有StartTime> p.StartTime可能是被触发的一部分,但我不认为这是最好的方法。例如,该过程可以启动具有不同名称的其他进程。

有没有办法'跟踪'从第一个流程开始触发的所有内容?

1 个答案:

答案 0 :(得分:1)

您可以P / Invoke NtQueryInformationProcess API函数通过父句柄查找进程。