精易论坛

标题: 非常完善的枚举窗口 [打印本页]

作者: 什么叫易    时间: 2019-5-20 04:25
标题: 非常完善的枚举窗口
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14372461&page=1&ordertype=1#pid16032895之前发的老板键的BUG算是彻底解决了。
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14373025&extra=
这是没弄好发的问题。彗星是背景一个窗口,中间用户区一个窗口画的。所以取了2个。QQ的TXGuiFoundation库封装的DirectUI 进行GetParent (hwnd) = 0判断后就获取不到。所以加了好长一截判断。
这是取出来的窗口,取出来的项目和任务管理器一致,任务管理器取不到的某些特殊程序这个也可以获取到,不知道有没有其他BUG。易语言的取窗口列表 是判断可视返回。会有重的。空名的。去掉又需要循环。

  
子程序名返回值类型公开备 注
枚举窗口整数型 
参数名类 型参考可空数组备 注
接收数组窗口信息
可视窗口逻辑型可空,默认为真
排除空标题窗口逻辑型可空,默认为真
屏蔽系统窗口逻辑型可空,默认为真。屏蔽Program Manager和任务栏Shell_TrayWnd下的窗口
只取父窗口逻辑型可空,默认为真。某些窗口会生成多个窗口只取其父。
变量名类 型静态数组备 注
传参整数型 
x整数型 
局父句柄整数型 
y整数型 
清除数组 (集_窗口列表)
传参 = 0
如果真 (是否为空 (可视窗口))
可视窗口 = 真
如果真 (是否为空 (排除空标题窗口))
排除空标题窗口 = 真
如果真 (是否为空 (屏蔽系统窗口))
屏蔽系统窗口 = 真
如果真 (是否为空 (只取父窗口))
只取父窗口 = 真
' ---------------------------------------
如果真 (可视窗口)
传参 = 传参 + 1
如果真 (排除空标题窗口)
传参 = 传参 + 2
如果真 (屏蔽系统窗口)
传参 = 传参 + 4
EnumWindows (&枚举过程, 传参)
如果真 (只取父窗口)
计次循环首 (取数组成员数 (集_窗口列表), x)
变量循环首 (取数组成员数 (集_窗口列表), x + 1, -1, y)
如果真 (GetParent (集_窗口列表 [x].窗口句柄) = 集_窗口列表 [y].窗口句柄)  ' 如果有同一程序的窗口,对比取出父窗口
删除成员 (集_窗口列表, x, )

变量循环尾 ()
计次循环尾 ()
接收数组 = 集_窗口列表
返回 (取数组成员数 (集_窗口列表))
子程序名返回值类型公开备 注
枚举过程整数型 'HWND为0会自动结束
参数名类 型参考可空数组备 注
hwnd整数型
lParam整数型
变量名类 型静态数组备 注
局窗口信息窗口信息 
局窗口相关WINDOWINFO 
局父句柄整数型 
x整数型 
y整数型 
局窗口信息.窗口句柄 = hwnd
局窗口信息.窗口标题 = 取窗口标题 (hwnd)
局窗口信息.窗口类名 = 取窗口类名 (hwnd)
如果 (lParam = 0)
加入成员 (集_窗口列表, 局窗口信息)
GetWindowInfo (hwnd, 局窗口相关)
如果真 (位与 (lParam, 1) > 0)  ' 可见
如果真 (位与 (局窗口相关.窗口样式, #WS_VISIBLE ) < 1)  ' 取样式也可以GetWindowLongA (hwnd, #GWL_STYLE)
返回 (1)

如果真 (位与 (lParam, 2) > 0)  ' 空标题
如果真 (局窗口信息.窗口标题 = “”)
返回 (1)

如果真 (位与 (lParam, 4) > 0)
如果真 (局窗口信息.窗口标题 = “Program Manager” 取窗口类名 (GetParent (hwnd)) = “Shell_TrayWnd”)  ' 屏蔽掉WIN7系统下的窗口
返回 (1)

加入成员 (集_窗口列表, 局窗口信息)
返回 (1)


i支持库列表   支持库注释   
eAPI应用接口支持库

取窗口列表.e (8.11 KB, 下载次数: 247) 源码示例

作者: 全村最帅    时间: 2019-5-20 08:14
虽然已经在用现成模块,但还是要学习一下
作者: pyms    时间: 2019-5-20 08:33
感谢分享!!!!
作者: orjg    时间: 2019-5-20 08:54
感谢分享,学习一下
作者: kyo9766    时间: 2019-5-20 09:43
学习学习源码,感谢分享
作者: 10008508    时间: 2019-5-20 10:02
6啊6
作者: 网络注册会员    时间: 2019-5-20 15:03
支持楼主大作
作者: swj1234    时间: 2019-5-20 15:05
学习一下,感谢开源
作者: 453528889    时间: 2019-5-20 18:01
很不错,以后取多层句柄方便了!
作者: sostemp    时间: 2019-5-21 13:45
感谢分享,支持开源
作者: feelings    时间: 2019-5-23 02:39
感谢楼主分享,支持一下!
作者: feelings    时间: 2019-5-23 02:39
下载了两次没成功
作者: feelings    时间: 2019-5-23 14:42
做的不错哦,楼主加油,期待更好的作品!
作者: yes123    时间: 2019-5-24 21:44
做的不错哦,楼主加油,期待更好的作品!
作者: 453528889    时间: 2019-5-25 11:30
期待更好的作品!加油
作者: 懒人定制软件    时间: 2019-5-31 12:58
互相讨论,共同进步
作者: 小小中的小白白    时间: 2019-8-27 16:04
11111111111111111111111111111
作者: djc2000    时间: 2021-3-3 12:25

互相讨论,共同进步
作者: 小迷人啦啦啦    时间: 2021-3-10 04:46
支持开源~!感谢分享
作者: 2161045897    时间: 2021-8-9 11:40
感谢分享~~~~~~~~~
作者: 1080090    时间: 2022-1-1 16:49
666666666666666666666666
作者: xiaohao122    时间: 2022-3-25 10:44

作者: 必兮相语    时间: 2022-6-21 23:33
666666666666666666666666
作者: 必兮相语    时间: 2022-6-21 23:34
666666666666666666666666
作者: zlj8zlj8    时间: 2022-8-16 01:09
111111111111111111
作者: feiliu    时间: 2023-4-16 01:07
11111111111111
作者: wlsk888    时间: 2023-10-7 21:55
谢谢分享,学习学习
作者: likai123    时间: 2025-2-1 16:09
好好学习天天向上




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4