Получение списка всех приложений

Я пытаюсь получить список всех открытых приложений. В частности, если вы откроете диспетчер задач и перейдете на вкладку приложений, этот список.

мы пытались использовать что-то вроде этого:

foreach (var p in Process.GetProcesses())
{
    try
    {
        if (!String.IsNullOrEmpty(p.MainWindowTitle))
        {
            sb.Append("\r\n");
            sb.Append("Window title: " + p.MainWindowTitle.ToString());
            sb.Append("\r\n");
        }
    }
    catch
    {
    }
}

Как в нескольких примерах ямы нашли, но это неНе тяните все заявки для меня. Это'захватывает только половину тех, которые я вижу в диспетчере задач или которые я знаю, что у меня открыт. Например, этот метод неt по какой-то причине использовать Notepad ++ или Skype, но ПОДНИМАЕТСЯ Google Chrome, Калькулятор и Microsoft Word.

Кто-нибудь знает, почему это не так?работает правильно или как это сделать?

Кроме того, друг предположил, что это может быть проблема с разрешениями, но я использую Visual Studio от имени администратора, и это не так.т изменилось.

РЕДАКТИРОВАТЬ: проблема, которую яЯ понимаю, что большинство решений, которые яВам дали только возвращает список ВСЕХ процессов, который нет, что я хочу. Я просто хочу, чтобы открытые приложения или окна, как список, который появляется в диспетчере задач. Не список каждого процесса.

Кроме того, я знаю, что здесь есть плохой код, включая пустой блок catch. Это был простой проект, чтобы понять, как это работает в первую очередь.

Ответы на вопрос(5)

Ваш ответ на вопрос