Кэшируется ли дерево элементов управления после первого вызова FindWindowEx / EnumChildWindows? - PullRequest
2 голосов
/ 04 апреля 2010

Я заметил, что если вы вызываете FindWindowEx или EnumChildWindows против hWnd, который принадлежит окну, которое не находится на переднем плане, то есть свернуто, то они не сообщают о дочерних элементах. С другой стороны, если я сначала позвоню SetForegroundWindow против окна, которое я запрашиваю, и после этого FindWindowEx или EnumChildWindows они сообщат обо всех дочерних элементах. Следующие вызовы сообщают обо всех детях, даже если интересующее меня окно находится не на переднем плане. Это почти что делает какое-то кеширование после первого звонка?

1 Ответ

0 голосов
/ 04 апреля 2010

Это окно в вашем собственном приложении или вы исследуете, что делает стороннее приложение?

Я бы предположил, что приложение создает свои дочерние окна только при первом выводе на передний план; это объяснило бы поведение, которое вы видите. Насколько мне известно, EnumChildWindows не выполняет никакого кэширования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...