Как определить дескриптор через FindWindow, если таких окон несколько? - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Пытаюсь получить дескриптор окна Google Chrome. Скриншот из Spy++ во вложении. Дело в том, что в всех дочерних окон Google Chrome одинаковый класс и заголовок, из-за этого не могу получить дескриптор следующим способом:
IntPtr handle = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Chrome_WidgetWin_1", null);
IntPtr h2 = FindWindowEx(handle, IntPtr.Zero, "Chrome_RenderWidgetHostHWND", null);
В случае с другой программой, если такое окно одно, то дескриптор определяется, но если окон 2 и более - результат 0. Как быть? Как решить данную проблему?

Решение задачи: «Как определить дескриптор через FindWindow, если таких окон несколько?»

textual
Листинг программы
         IntPtr firstHandle = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Chrome_WidgetWin_1", null);
         IntPtr secondHandle = FindWindowEx(IntPtr.Zero, firstHandle, "Chrome_WidgetWin_1", null);
         IntPtr childHandle = FindWindowEx(secondHandle, IntPtr.Zero, "Chrome_RenderWidgetHostHWND", null);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5
Похожие ответы