在Windows XP上,如何枚举系统显示的所有窗口(C#)

时间:2009-01-06 13:54:34

标签: c# windows

我想最终得到所有可见(包括最小化)窗口的列表(或数组或其他)。

我找到了两个类似的问题,但相当给了我正在寻找的东西:
- Work out which windows go in the alt-tab list
- list windows in another user's session

感谢。

3 个答案:

答案 0 :(得分:2)

我认为Raymond Chen在第一个链接中指出的博客条目可以让您了解自己想去的地方。基本上,您可以调用EnumWindows然后应用该算法,除非您注意到每个可见的窗口句柄。

问题有点模糊,这里的目的是什么(给出更多信息可能有更好的方法)。

答案 1 :(得分:1)

如何获取进入alt-tab列表的进程列表。 (运行包含窗口的进程):

using System.Diagnostics.Process; 

List<Process> plist = new List<Process>();            

foreach (Process p in Process.GetProcesses())
{
 string title = p.MainWindowTitle;
 if (!String.IsNullOrEmpty(title))
 {
     plist.Add(p);
 }
}

答案 2 :(得分:0)

只需使用EW()api(win32常见问题解答)