开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 265|回复: 8
打印 上一主题 下一主题
收起左侧

[易语言] 窗口句柄

[复制链接]
结帖率:91% (39/43)
跳转到指定楼层
楼主
发表于 前天 11:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式   浙江省温州市
20精币
多层窗口,不确定具体有多少层的,怎么写个子程序嵌套一直循环按条件查找   直到查找完为止    如图所示!

VX截图_20250508232336.png (27.48 KB, 下载次数: 0)

VX截图_20250508232336.png

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

签到天数: 12 天

沙发
发表于 前天 12:21 | 只看该作者   安徽省合肥市
望采纳····
写个例子给你看吧。
我用的取下面的

代码如下:
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
子窗口数组1整数型0
i整数型 
子窗口数组2整数型0
j整数型 
子窗口数组3整数型0
k整数型 
子窗口数组4整数型0
窗口_枚举子窗口 (, 子窗口数组1, “Shell_TrayWnd”)
计次循环首 (取数组成员数 (子窗口数组1), i)
窗口_枚举子窗口 (子窗口数组1 [i], 子窗口数组2, “ReBarWindow32”)
计次循环首 (取数组成员数 (子窗口数组2), j)
窗口_枚举子窗口 (子窗口数组2 [j], 子窗口数组3, “MSTaskSwWClass”)
计次循环首 (取数组成员数 (子窗口数组3), k)
窗口_枚举子窗口 (子窗口数组3 [k], 子窗口数组4, “MSTaskListWClass”)
调试输出 (子窗口数组4 [1])
计次循环尾 ()
计次循环尾 ()
计次循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库



补充内容 (2025-5-11 12:22):
一层一层写就行了。有不懂再问我···
回复

使用道具 举报

结帖率:83% (5/6)

签到天数: 9 天

板凳
发表于 前天 12:42 | 只看该作者   广东省河源市
上次都给你发了,你又不看,现在又来问一遍!

捕获99999999.PNG (26.97 KB, 下载次数: 0)

捕获99999999.PNG
回复

使用道具 举报

结帖率:91% (39/43)

签到天数: 11 天

地板
 楼主| 发表于 前天 14:43 | 只看该作者   浙江省温州市
阿素里戈沃里嘚 发表于 2025-5-11 12:42
上次都给你发了,你又不看,现在又来问一遍!

我要的是不固定的
回复

使用道具 举报

结帖率:91% (39/43)

签到天数: 11 天

地下
 楼主| 发表于 前天 14:44 | 只看该作者   浙江省温州市
大熊猫玩编程 发表于 2025-5-11 12:21
望采纳····
写个例子给你看吧。
我用的取下面的

不确定几层窗口
回复

使用道具 举报

结帖率:83% (5/6)

签到天数: 9 天

6
发表于 前天 14:55 | 只看该作者   广东省河源市

那你这些类名标题都是一样的!你得找它们的差异在哪里,比如说组件位置,你找到以后判定一下位置对不对就行咯;而且,依次找是会找到一些隐藏句柄的,你得自己调试输出一下看看具体位置在哪里!
回复

使用道具 举报

签到天数: 12 天

7
发表于 前天 14:59 | 只看该作者   安徽省合肥市

按钮是固定的啊,怎么可能确定不了几层啊?
除非你是想做多个不同的按钮。这样才确定不了
回复

使用道具 举报

结帖率:89% (39/44)

签到天数: 12 天

8
发表于 前天 19:16 | 只看该作者   河北省衡水市
  
子程序名返回值类型公开备 注
查找窗口整数型 
参数名类 型参考可空数组备 注
父窗口句柄整数型从哪个窗口开始查找,为空则从桌面窗口开始
窗口标题文本型要查找的窗口标题,可为部分匹配
窗口类名文本型要查找的窗口类名
超时时间整数型查找超时时间(毫秒),默认10秒
变量名类 型静态数组备 注
开始时间整数型 
找到的句柄整数型 
开始时间 = 取启动时间 ()
找到的句柄 = 0
判断循环首 ()  ' 无限循环,直到找到或超时
找到的句柄 = 递归查找子窗口 (父窗口句柄, 窗口标题, 窗口类名)

如果 (找到的句柄 ≠ 0 取启动时间 () - 开始时间 ≥ 选择 (是否为空 (超时时间), 10000, 超时时间))
跳出循环 ()
延时 (200)  ' 避免CPU占用过高

判断循环尾 ()
返回 (找到的句柄)
子程序名返回值类型公开备 注
递归查找子窗口整数型 
参数名类 型参考可空数组备 注
当前窗口整数型
目标标题文本型
目标类名文本型
变量名类 型静态数组备 注
子窗口整数型 
窗口标题文本型 
窗口类名文本型 
结果句柄整数型 
如果 (是否为空 (当前窗口))
当前窗口 = 取桌面窗口句柄 ()

' 先检查当前窗口是否符合条件
窗口标题 = 取窗口标题 (当前窗口)
窗口类名 = 取窗口类名 (当前窗口)
如果 ( (是否为空 (目标标题) 寻找文本 (窗口标题, 目标标题, , ) ≠ -1) (是否为空 (目标类名) 窗口类名 = 目标类名))
返回 (当前窗口)

' 递归查找子窗口
子窗口 = 查找子窗口 (当前窗口, 0, 0, 0)
判断循环首 (子窗口 ≠ 0)
结果句柄 = 递归查找子窗口 (子窗口, 目标标题, 目标类名)

如果 (结果句柄 ≠ 0)
返回 (结果句柄)

子窗口 = 查找子窗口 (当前窗口, 子窗口, 0, 0)
判断循环尾 ()
返回 (0)


示例
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
目标窗口句柄整数型 
目标窗口句柄 = 查找窗口 (, "记事本", "Notepad")
如果 (目标窗口句柄 ≠ 0)
信息框 ("找到记事本窗口,句柄:" + 到文本 (目标窗口句柄), 0, "查找结果",
信息框 ("未找到符合条件的窗口", 0, "查找结果",

回复

使用道具 举报

结帖率:33% (1/3)

签到天数: 1 天

9
发表于 昨天 11:10 | 只看该作者   广西壮族自治区南宁市
1. 先枚举出所有这个类的ID.
2. 循环判断哪个ID的特征(如客户区大小、位置、属性、标题、还有父窗口的属性)是满足你的,就能找出来了。
这样不有管它有多少层!
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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