EnumChildWindows или FindWindowEx? - PullRequest
       4

EnumChildWindows или FindWindowEx?

5 голосов
/ 01 декабря 2009

У меня есть возможность использовать любой из API EnumChildWindows или FindWindowEx.

Есть предложения, какие API лучше ориентированы на производительность?

Является ли FindWindowEx внутренне использует EnumChildWindows для получения дескриптора определенного окна?

1 Ответ

5 голосов
/ 01 декабря 2009

Это действительно сильно зависит от вашего сценария.

Функция FindWindowEx используется для поиска окон, имеющих определенный класс и, возможно, определенный фрагмент текста в окне. Функция EnumChildWindows просто для перечисления дочерних окон.

Я думаю, что производительность должна быть вашей последней заботой здесь. Первый - это выбор правильного API. Если вы действительно ищете окна определенного класса, используйте FindWindowEx, в противном случае EnumChildWindows. Нет никакого смысла в реализации функции, использующей EnumChildWindows, чтобы иметь то же поведение, что и FindWindowEx.

Теперь, после выбора правильного решения, если профилировщик определенно скажет вам, что решение слишком медленное, то вам следует подумать о том, чтобы вручную реализовать более конкретную функцию. Не раньше, чем.

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