2010-07-03 100 views

回答

3

至於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.儘管在實踐中它不應該是一個問題。 :)

+0

哦,哇,你打我完全一樣的答案。 :) – casablanca 2010-07-03 21:48:31

+0

那麼,它現在是「下面」。 – 2010-07-03 22:25:15

1

那麼,有一個特定的Windows API函數來枚舉子窗口:EnumChildWindows()。傳遞父窗口句柄和回調。關於您想要查找的子窗口必須有一些「特殊」。在回調中計數它們可能就足夠了。 「以前到最後」也是非常有可能的,只需要兩個變量。