process.getprocessesbyname () - PullRequest
       5

process.getprocessesbyname ()

1 голос
/ 17 июня 2010

Я хотел бы использовать эту функцию в C #, но мне нужно получить 2 типа процессов. Можно ли сделать что-то вроде этого: process.getprocessesbyname ("process1", "process2");

Как я могу получить экземпляры 2 процессов с разными именами?

TY

Ответы [ 3 ]

3 голосов
/ 17 июня 2010
IEnumerable<Process> processes =
    new[] { "process1", "process2" }
    .SelectMany(Process.GetProcessesByName);
2 голосов
/ 17 июня 2010

Вы можете использовать метод LINQ Concat для объединения списков:

var processes = Process.GetProcessesByName("devenv")
    .Concat(Process.GetProcessesByName("notepad"));
2 голосов
/ 17 июня 2010

Используйте цикл:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...