EnumWindowT 获得符合条件的所有顶层窗口句柄
🎯功能
获得符合条件的所有顶层窗口的窗口句柄。
📜语法
HwndArray = Plugin.WndEx7_71.EnumWindowT(窗口标题, 窗口类名, 进程名或ID, 窗口图标数据, 过滤条件)
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
窗口标题 | 整型数 或字符串 | 为搜索条件,取整型数0 时不过滤窗口标题。 |
窗口类名 | 整型数 或字符串 | 为搜索条件,取整型数0 时不过滤窗口类名。 |
进程名或ID | 整型数 或字符串 | 为搜索条件,进程名用字符串,进程ID用整数,不过滤进程名和进程ID时用整数0 。 |
窗口图标数据 | 整型数 或字符串 | 为搜索条件,取整型数0时不过滤窗口图标数据。此数据可用本插件中的 GetWindowIconData 函数获得。有的程序在屏幕颜色分别为32位时和16位时启动程序获得的程序窗口图标数据不相同,这时候可以在屏幕颜色为32位时和16位时分别启动窗口程序,获得它们的窗口图标数据,这时可以将它们连接起来,用"|"号将它们分隔,这时符合任意一种情况均认为符合条件。 |
过滤条件 | 长整型数 | 取值可以是下面的一个或多个,不用时可取0。如果要同时使用多个值,可将多个值做或运算或者加法运算。 |
参数5(
过滤条件
)可取以下值过滤条件 值 | 说明 |
---|---|
1 | 标题通配符匹配,使用此值时,可以使用"?" 和"*" 进行模糊搜索窗口标题,"?" 代表一个任意字符,"*" 代表0个或者多个任意字符。 |
2 | 类名通配符匹配,和标题匹配类似。 |
8 | 排除所有者窗口,如果使用此值,获得的窗口都无所有者窗口。 |
16 | 窗口必须可见,如果使用此值,获得的窗口都是可见窗口。 |
64 | 和取值8 时相反,不可与值8 同时使用。 |
128 | 和取值16 时相反,不可与值16 同时使用。 |
256 | 只取主窗口的窗口句柄,过滤条件模仿Windows任务管理器的应用程序列表。使用此值时,值8 、16 、64 、128 无效。部分程序的窗口常常有些非主窗口用前面的方法很难过滤掉,这时可以试下这个值。此方法有可能过滤过度导致找不到窗口。 |
65536 | 使用另一种历遍方法,因为曾经遇到几个游戏用常用的历遍方法取不到它们的窗口句柄,用这个方法就没问题,但平常不推荐使用此历遍方法,它可能导致程序进入死循环。 |