在循环中使用GetWindow的替代方法是什么?

时间:2012-10-20 20:05:09

标签: windows winapi z-order

MSDN提到了GetWindow()函数的以下注释。

  

EnumChildWindows功能比调用GetWindow更可靠   在一个循环中。调用GetWindow来执行此任务的应用程序   冒险陷入无限循环或引用一个句柄   被摧毁的窗户。

当只对列出所有窗口感兴趣时,使用EnumChildWindows工作正常。但是,如果您需要GetWindow提供的其他z顺序功能,该怎么办?我无法使用EnumChildWindows找到按顺序排序的所有窗口。

这是否意味着没有'安全'的方法呢?

1 个答案:

答案 0 :(得分:1)

如果你需要Z-order,我会使用GetWindow(),但要注意所关注的问题。

如果您多次看到一个窗口,请停止。当随后通过其句柄引用返回的窗口时,请准备好失败。