Как можно подобрать окно класса не активного / видимого окна? - PullRequest
2 голосов
/ 11 ноября 2019

Мне нужно получить список классов всех окон, чтобы подобрать дескриптор скрытого невидимого дочернего окна. Используя spy ++, я могу найти окна и увидеть, что окна не настроили имя / заголовок окна, только класс и внешний вид выглядят так:

      HwndWrapper[APPname.exe;;10c71dcc-1a19-4fdf-82f0-57195a824939]
      HwndWrapper[APPname.exe;;3ce85673-ce1f-460f-b2c6-4d3c8ea30b6b]

Вопрос в том, как мне искать во всех окнах и получатькласс программно? Есть несколько способов использовать эту строку: HwndWrapper [APPname.exe ;;

Эта строка всегда одна и та же, может использоваться для перечисления всех классов окон, а затем извлекать то, что мне нужно (дескриптор окна)

В основном я хочу получить дескриптор окна из всех окон, содержащихна имя класса HwndWrapper [APPname.exe ;; 1 и заголовок окна пуст или нулевой.

Затем с этим я могу взять дескриптор

    [DllImport("user32.dll")]
    private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
    public IntPtr GetHandleWindow(string classname)
    {
        return FindWindow(classname, null);
    }


        windowHandle = GetHandleWindow("HwndWrapper[APPname.exe;;10c71dcc-1a19-4fdf-82f0-57195a824939]");
...