Окна, о которых вы говорите, с кнопкой X, строкой заголовка и т. Д., Не являются единственными окнами. Кнопки, выпадающие меню, метки, значки, текстовые поля, панель задач и почти все остальное - это тоже окно 1 . Так что EnumWindows
делает именно то, что должен: перечисляет все окна верхнего уровня.
1 Несмотря на то, что это правда, EnumWindows
перечисляет только окна верхнего уровня. Это означает, что не будет перечислять дочерние окна :
Функция EnumWindows не перечисляет дочерние окна, за исключением нескольких окон верхнего уровня, принадлежащих системе, которые имеют стиль WS_CHILD.
Однако многие вещи на вашем рабочем столе также являются окнами, а не просто «окнами», о которых вы думаете.