В качестве альтернативы EnumChildWindows
, опубликованной выше, вы можете использовать это:
HWND first_child = GetWindow(parent_hwnd, GW_CHILD);
HWND last_child = GetWindow(first_child, GW_HWNDLAST);
HWND prev_to_last_child = GetWindow(last_child, GW_HWNDPREV);
Недостатком этого подхода является возможность гонки, если новое дочернее окно добавляется в конце Z- порядок между шагами 2 и 3. Хотя на практике это не должно быть проблемой.:)