2010-07-03 102 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()。传递父窗口句柄和回调。关于您想要查找的子窗口必须有一些“特殊”。在回调中计数它们可能就足够了。 “以前到最后”也是非常有可能的,只需要两个变量。