Я пытаюсь получить дескриптор SHELLDLL_DefView.WinApi - Как получить SHELLDLL_DefView
Итак, у меня есть этот код.
HWND hProgman = FindWindow(L"Progman", NULL);
HWND hWnd = FindWindowEx(hProgman, 0, L"SHELLDLL_DefView", NULL);
Eveyrtihing работает нормально, пока я не перейду в рабочий стол Windows на слайд-шоу. Затем, когда я выполняю поиск с помощью spy ++ иерархии окон, у SHELLDLL_DefView есть другой родитель. Теперь это # 32769 (рабочий стол) -> WorkerW -> SHELLDLL_DefView. Поэтому я не могу найти его. Проблема в том, что при попытке
HWND desktop = GetDesktopWindow();
HWND hWnd = FindWindowEx(desktop , 0, L"WorkerW", NULL);
HWND hWnd = FindWindowEx(hWnd, 0, L"SHELLDLL_DefView", NULL);
Than SHELLDLL_DefView не найден. Рабочий W да.
Может ли кто-нибудь помочь?
Зачем вам это нужно? Оболочка имеет богатый интерфейс автоматизации. Вы оценили, что он не соответствует вашим требованиям? – IInspectable
Мне нужно обработать SHELLDLL_DefView –
* «Мне нужно найти X, потому что мне нужно найти X» *, это не ответ на вопрос, почему вы думаете, что делаете. – IInspectable