在Windows XP上,如何枚举系统显示的所有窗口(C#)
我想最终得到所有可见(包括最小化)窗口的列表(或数组或其他)。
我找到了2个类似的问题,这些问题并没有给我提供我想要的东西:
– 确定哪些窗口位于alt-tab列表中
– 在另一个用户的会话中列出窗口
谢谢。
我认为Raymond Chen在第一个链接中指出的博客条目让你知道你想去哪里。 基本上,你会调用EnumWindows然后应用该算法,除了你会注意到每个可见的窗口句柄。
问题有点模糊,这里的目的是什么(给出更多信息可能有更好的方法)。
如何获取进入alt-tab列表的进程列表。 (运行包含窗口的进程):
using System.Diagnostics.Process; List plist = new List (); foreach (Process p in Process.GetProcesses()) { string title = p.MainWindowTitle; if (!String.IsNullOrEmpty(title)) { plist.Add(p); } }
只需使用EW()api(win32 FAQ)