开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5586|回复: 26
收起左侧

[易语言纯源码] 非常完善的枚举窗口

[复制链接]
结帖率:43% (12/28)
发表于 2019-5-20 04:25:36 | 显示全部楼层 |阅读模式   四川省广安市
分享源码
界面截图: -
是否带模块: -
备注说明: -
https://bbs.125.la/forum.php?mod=viewthread&tid=14372461&page=1&ordertype=1#pid16032895之前发的老板键的BUG算是彻底解决了。
https://bbs.125.la/forum.php?mod=viewthread&tid=14373025&extra=
这是没弄好发的问题。彗星是背景一个窗口,中间用户区一个窗口画的。所以取了2个。QQ的TXGuiFoundation库封装的DirectUI 进行GetParent (hwnd) = 0判断后就获取不到。所以加了好长一截判断。
NewImage.jpg 这是取出来的窗口,取出来的项目和任务管理器一致,任务管理器取不到的某些特殊程序这个也可以获取到,不知道有没有其他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, 下载次数: 230)

评分

参与人数 1好评 +1 精币 +3 收起 理由
凌哥 + 1 + 3 支持一下

查看全部评分


结帖率:83% (54/65)

签到天数: 19 天

发表于 2023-10-7 21:55:33 | 显示全部楼层   浙江省杭州市
谢谢分享,学习学习
回复 支持 反对

使用道具 举报

结帖率:92% (23/25)

签到天数: 8 天

发表于 2023-4-16 01:07:43 | 显示全部楼层   广东省广州市
11111111111111
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2022-8-16 01:09:26 | 显示全部楼层   安徽省合肥市
111111111111111111
回复 支持 反对

使用道具 举报

发表于 2022-6-21 23:34:14 | 显示全部楼层   浙江省温州市
666666666666666666666666
回复 支持 反对

使用道具 举报

发表于 2022-6-21 23:33:56 | 显示全部楼层   浙江省温州市
666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 15 天

发表于 2022-3-25 10:44:21 | 显示全部楼层   河北省衡水市
回复 支持 反对

使用道具 举报

签到天数: 19 天

发表于 2022-1-1 16:49:33 | 显示全部楼层   陕西省西安市
666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:85% (17/20)
发表于 2021-8-9 11:40:40 | 显示全部楼层   江西省吉安市
感谢分享~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2021-3-10 04:46:48 | 显示全部楼层   江西省宜春市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表