所有打开窗口的C#Z顺序

所有打开窗口的C#Z顺序,c#,windows,pinvoke,z-order,C#,Windows,Pinvoke,Z Order,我对获取用户当前打开的每个窗口的Z顺序感兴趣。例如,如果他们有4个窗口在彼此的顶部,我想知道(通过窗口标题-我已经可以得到),顺序-即,哪个在堆栈中最深,哪个在堆栈的前面 有人知道这方面的代码吗?我一直在研究GetTopWindow()和GetNextWindow(),但是GetTopWindow()似乎返回应用程序中的顶部窗口,而GetNextWindow()似乎没有在user32.dll中引用(这是从Pinvoke获得的) 如有任何代码想法/提示,我们将不胜感激。我希望只有一个整数值,它是窗

我对获取用户当前打开的每个窗口的Z顺序感兴趣。例如,如果他们有4个窗口在彼此的顶部,我想知道(通过窗口标题-我已经可以得到),顺序-即,哪个在堆栈中最深,哪个在堆栈的前面

有人知道这方面的代码吗?我一直在研究GetTopWindow()和GetNextWindow(),但是GetTopWindow()似乎返回应用程序中的顶部窗口,而GetNextWindow()似乎没有在user32.dll中引用(这是从Pinvoke获得的)

如有任何代码想法/提示,我们将不胜感激。我希望只有一个整数值,它是窗口的Z索引,从中,我可以计算出顺序

干杯,
Jonathan

我想您需要应用程序外部的windows,对吗?否则,
Application.OpenForms
将是一个选项。这两种帮助的组合?对于所有窗口&z-order:是的,Chris,所有打开的窗口不仅仅是从我的应用程序中:-)。