如果有多个实例打开,我怎样才能获得应用程序的进程。
var processList= Process.GetProcessesByName("MyProcess");
实施例: -
2个Chrome浏览器已打开。在tast mgr的进程列表中,我有2个chrome进程。 我使用一些Apis&#34运行一个启动chrome的应用程序;而不是通过Process.Start("")"。现在我在Task Mgr porcesses中有3个
如何获取应用程序启动的进程,而不是已经打开的其他2进程?我怎样才能区分出上述陈述中的3个过程
我尝试根据 TotalProcessorTime 属性对它们进行排序,并获得最短时间的那个,但如果我决定在此之后打开另一个chrome,我会得到错误的进程。
答案 0 :(得分:1)
根据您提供的信息,如果它始终是最新的过程,那么您可以尝试以下
MostRecentlyStartedProcess(Process.GetProcessesByName("MyProcess"));
public Process MostRecentlyStartedProcess(Process[] procceses)
{
Process result = null;
foreach (Process process in procceses)
{
if (result == null)
{
result = process;
}
else
{
if (process.StartTime < result.StartTime)
{
result = process;
}
}
}
return result;
}