【问题标题】:How to determine which process in an array was started first?如何确定数组中的哪个进程首先启动?
【发布时间】:2019-09-23 20:53:27
【问题描述】:

我已经列出了与当前进程名称相同的进程列表。以下是列表的制作方式:

Process curr = Process.GetCurrentProcess();
Process[] procs = Process.GetProcessesByName(curr.ProcessName);

我的目标是获取已启动的第一个进程并将其仅存储在一个新变量中。我已经尝试了一些东西,但我不知道该怎么做。

// procs[1].StartTime.Ticks ????

问题是如何获得进程数组中启动时间最短的进程?

【问题讨论】:

标签: c# wpf winforms process


【解决方案1】:

您已经确定了应该使用的属性,它被称为 StartTime。
现在,要查找进程数组中的最低开始时间,您可以简单地使用 Linq 命名空间中的 OrderBy,然后从有序序列中获取第一个元素。

Process curr = Process.GetCurrentProcess();  
Process[] procs = Process.GetProcessesByName(curr.ProcessName);
var theFirst = procs.OrderBy(x => x.StartTime).FirstOrDefault();

您也可以使用 First() 代替 FirstOrDefault(),因为至少应该存在一个与当前进程同名的进程。

【讨论】:

  • 不确定这个答案有什么问题值得否决。希望反对者愿意解释。
  • 这正是我所需要的!我试图使用 For (var i = 0; i
猜你喜欢
  • 2017-11-07
  • 1970-01-01
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 2013-08-18
  • 2011-07-11
相关资源
最近更新 更多