Как вывести список активных окон приложения с помощью C #

Мне нужно иметь возможность перечислить все активные приложения на компьютере с Windows. Я использовал этот код ...

  Process[] procs = Process.GetProcesses(".");
  foreach (Process proc in procs)
  {
      if (proc.MainWindowTitle.Length > 0)
      {
          toolStripComboBox_StartSharingProcessWindow.Items.Add(proc.MainWindowTitle);
      }
  }

пока я не понял, что это не перечисляет случаи, такие как WORD или ACROREAD, когда несколько файлов открываются каждый в своем собственном окне. В этой ситуации только самое верхнее окно перечислено с использованием вышеупомянутой техники. Я предполагаю, что это потому, что существует только один процесс, даже если два (или более) файла открыты. Итак, я думаю, мой вопрос: как мне перечислить все окна, а не их основной процесс?

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

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