繁体   English   中英

如何找到具有特定窗口样式的窗口? (WS_CHILDWINDOW)

[英]How can I find a window with a specific window style? (WS_CHILDWINDOW)

我有一个窗口样式为WS_CHILDWINDOW的特定窗口。 这是我已经拥有手柄的窗口的子窗口。 此窗口是倒数第二个窗口。 我如何得到它?

顺便说一下,它是C ++。

作为上面发布的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);

这种方法的一个缺点是,如果在步骤2和3之间的Z顺序的末尾添加了一个新的子窗口,则可能导致比赛。尽管实际上这不是问题。 :)

好吧,这里有一个用于枚举子窗口的特定Windows API函数:EnumChildWindows()。 传递父窗口句柄和回调。 您要查找的子窗口必须有一些“特殊”内容。 在回调中倒计时就足够了。 “从前到最后”也是很有可能的,只需要两个变量即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM