process.getprocessesbyname()

时间:2010-06-17 07:27:42

标签: c# process

我想在C#中使用此函数,但我需要获得2种类型的进程。 有可能做这样的事情: process.getprocessesbyname(“process1”,“process2”);

如何获取具有不同名称的2个进程的实例?

TY

3 个答案:

答案 0 :(得分:3)

IEnumerable<Process> processes =
    new[] { "process1", "process2" }
    .SelectMany(Process.GetProcessesByName);

答案 1 :(得分:2)

使用循环:

static void Main(string[] args)
{
    var processes = GetProcesses(new[] { "name1", "name2", "explorer"});
}

public static IList<Process> GetProcesses(string[] processNames)
{
    var processes = new List<Process>(processNames.Length);
    foreach (var processName in processNames)
    {
        var namedProcesses = Process.GetProcessesByName(processName);
        processes.AddRange(namedProcesses);
    }

    return processes;
}

答案 2 :(得分:2)

您可以使用LINQ Concat方法连接列表:

var processes = Process.GetProcessesByName("devenv")
    .Concat(Process.GetProcessesByName("notepad"));