Это управление деревом кэшируется после первого звонка на FindWindowex / EnumChildWindows?
-
24-09-2019 - |
Вопрос
Я заметил, что если вы позвоните FindWindowEx
или EnumChildWindows
Против HWND, который принадлежит окно, которое не на переднем плане, то есть минимизировано, то они не сообщают о каких-либо детей. С другой стороны, если я впервые звоню SetForegroundWindow
против окна я запрос, а после этого FindWindowEx
или EnumChildWindows
, они сообщают об всех детях. Следующие звонки сообщают всем детям, даже если окно меня интересует, не на переднем плане. Это почти это какая-то кеширование после первого звонка?
Решение
Это окно в вашем собственном приложении, или вы расследуете, что делает стороннее приложение?
Я думаю, что приложение создает только его детскую окну в первый раз, когда он приводится на передний план; Это объяснило бы поведение, которое вы видите. Насколько мне известно, EnumChildWindows
не выполняет никакой кэширования.