找回密码
 加入
搜索
楼主: itzyx

[AU3基础] 已解决 如何读取状态栏显示的文本内容

[复制链接]
 楼主| 发表于 2020-12-7 12:21:51 来自手机 | 显示全部楼层
afan 发表于 2020-12-6 23:52
你这个问题,用 PixelGetColor 只需5-6行代码就可以搞定

嗯嗯,PixelGetColor 这个函数 A大 指点过后,我正在研究怎么用到实际应用中,OCR相比较确实复杂了许多,不过可以作为以后扩展学习使用
发表于 2020-12-7 12:35:52 | 显示全部楼层
itzyx 发表于 2020-12-7 12:21
嗯嗯,PixelGetColor 这个函数 A大 指点过后,我正在研究怎么用到实际应用中,OCR相比较确实复杂了许多, ...

给你举个简单的例子。本例仅采集屏幕左上角两个坐标点的颜色做比对,实际自行采样代入就行。执行后,若屏幕左上角发生变化则触发,比如移动了一个窗口在左上角
Local $iCor1 = PixelGetColor(0, 0), $iCor2 = PixelGetColor(1, 1)        ;坐标点色值
While 1
        Sleep(100)
        If PixelGetColor(0, 0) <> $iCor1 Or PixelGetColor(1, 1) <> $iCor2 Then Exit MsgBox(0, '', '已变化')
WEnd
 楼主| 发表于 2020-12-7 13:50:46 | 显示全部楼层
afan 发表于 2020-12-7 12:35
给你举个简单的例子。本例仅采集屏幕左上角两个坐标点的颜色做比对,实际自行采样代入就行。执行后,若屏 ...

好的 谢谢A大,我先用你给的工具 找色,分析状态的区别, 再用例子来应用,这个如果能应用好,感觉对以后其他自动化 测试还是很有帮助的
发表于 2020-12-7 15:11:10 | 显示全部楼层
itzyx 发表于 2020-12-7 13:50
好的 谢谢A大,我先用你给的工具 找色,分析状态的区别, 再用例子来应用,这个如果能应用好,感觉对以后 ...

工具获取的已是标准的十六进制RGB色值,PixelGetColor 获取的是十进制,可用 Hex(PixelGetColor(...) , 6) 统一

评分

参与人数 1金钱 +30 收起 理由
itzyx + 30 赞一个! 感谢 指导

查看全部评分

发表于 2020-12-7 22:17:32 | 显示全部楼层
你把0.00fps周围的所有色点特征 抓下来 保存
然后程序随时 比对 当前画面的色点颜色
如果全部符合,自然就是实锤0.00fps了
 楼主| 发表于 2020-12-7 23:09:20 | 显示全部楼层
YGYL 发表于 2020-12-7 22:17
你把0.00fps周围的所有色点特征 抓下来 保存
然后程序随时 比对 当前画面的色点颜色
如果全部符合,自然 ...

是的  感谢建议
发表于 2020-12-8 10:29:36 | 显示全部楼层
YGYL 发表于 2020-12-7 22:17
你把0.00fps周围的所有色点特征 抓下来 保存
然后程序随时 比对 当前画面的色点颜色
如果全部符合,自然 ...

不需要“周围所有点”,0.00fps 目测最多采集10个点(具唯一特征)就行了,具体要看会出现哪些字符来推测
发表于 2020-12-8 11:02:22 | 显示全部楼层
本帖最后由 afan 于 2020-12-8 12:06 编辑

如果在测试中会匹配到其它字符,那就证明采的点唯一性特征不强,需要调整采点坐标
如果实在不会采点,如我3#所说,也可以用找图的方式,这个不需要多少判断,截个小图就行,不过码代码难度可能就大一点(不像 PixelGetColor 一个函数搞定),需要找一些截图和比对的udf学习下。这种可定点找图,效率也是极高的,检测这种小图在我老机器上也仅需2~3毫秒。


找10个色点的方式更快了,不到1毫秒


还可以用区域校验的方式去匹配,更快,0.3毫秒


这是使用工具进行的比对验证,还有很多技巧需要LZ自行研究,没有代码,没法建议。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +30 收起 理由
itzyx + 30 赞一个!

查看全部评分

 楼主| 发表于 2020-12-8 20:01:51 | 显示全部楼层
afan 发表于 2020-12-8 11:02
如果在测试中会匹配到其它字符,那就证明采的点唯一性特征不强,需要调整采点坐标
如果实在不会采点,如我 ...

非常感谢A大细心指导, 客套的话我也不多说了,都在键盘里了
 楼主| 发表于 2020-12-9 22:28:12 | 显示全部楼层
afan 发表于 2020-12-8 11:02
如果在测试中会匹配到其它字符,那就证明采的点唯一性特征不强,需要调整采点坐标
如果实在不会采点,如我 ...

A大 我发现 PixelGetColor 获取的是绝对坐标 , 不是窗口的相对坐标,因为窗口大小不是固定的,那如果窗口大小变化的话, 岂不是没辙了
发表于 2020-12-9 22:34:17 | 显示全部楼层
itzyx 发表于 2020-12-9 22:28
A大 我发现 PixelGetColor 获取的是绝对坐标 , 不是窗口的相对坐标,因为窗口大小不是固定的,那如果窗 ...

你用我的工具 屏幕巡查 测试吗?区域选择就可以指定窗口,可以精确到具体控件或客户区,并且还可以继续细分限定范围。
 楼主| 发表于 2020-12-9 22:37:32 | 显示全部楼层
afan 发表于 2020-12-9 22:34
你用我的工具 屏幕巡查 测试吗?区域选择就可以指定窗口,可以精确到具体控件或客户区,并且还可以继续细 ...

好的  我再试试
发表于 2020-12-10 00:08:04 | 显示全部楼层
itzyx 发表于 2020-12-9 22:37
好的  我再试试

在工具上能成代码就能成
 楼主| 发表于 2020-12-10 08:32:34 | 显示全部楼层
afan 发表于 2020-12-10 00:08
在工具上能成代码就能成

嗯嗯啊 昨晚太晚了 就没回复了,这个屏幕巡查 功能很强大啊,有的功能我还不会用,像我们脑子笨的,要多看几遍帮助
发表于 2020-12-10 09:50:40 | 显示全部楼层
itzyx 发表于 2020-12-10 08:32
嗯嗯啊 昨晚太晚了 就没回复了,这个屏幕巡查 功能很强大啊,有的功能我还不会用,像我们脑子笨的,要多 ...

如果你有代码才能更好的帮到你,也就可以更快的解决问题。

原本屏幕巡查是准备分享更多包括直接生成代码功能的(就像我另一个窗口设计工具AuGUIDesigner一样),但后来看到下载量还行,但支持的却只有两位(应该还是友情支持),反馈的也只有floor6ggg一位,就没有继续浪费表情了。当然这是题外话了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 12:56 , Processed in 0.071390 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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