找回密码
 加入
搜索
查看: 12075|回复: 18

[GUI管理] 【已解决】无标题窗口-内容详尽-GetText 高级模式不工作- 感谢131738

 火.. [复制链接]
发表于 2014-10-11 22:06:15 | 显示全部楼层 |阅读模式
本帖最后由 touch_xu 于 2014-10-13 18:38 编辑

我的代码如下,大家帮我看看错在什么地方,谢谢!

我想抓的就是Static62的内容.
MsgBox(0,"",ControlGetText("","Inspect","[CLASS:Static; INSTANCE:62;ID:1196]")
MsgBox(0,"",ControlGetText("","","[CLASS:Static; INSTANCE:62;ID:1196]")
我想要的结果是就是下面的5882, 以上两段代码都不行, 奇怪的是可见文本里却可以看到,Please help me, thanks!

Number of Components to Inspect  ; 可见文本里有此内容
[
]
5536 ; 这个数字随着程序运行会变化,所以au3info信息截图与界面不同?

下面是要抓取的主程序界面的信息:


下面是此静态控件的信息:




下面是此控件的详细内容信息:

>>>>  窗口 <<<<   
标题:       
类名:        #32770
坐标:        0, 0
大小:        1280, 1024
样式:        0x94000044
扩展样式:0x00010000
句柄:        0x003F0104

>>>> 控件信息 <<<<   
类名:        Static
接口:        62
类别名:        Static62
名称:       
高级模式(类):[CLASS:Static; INSTANCE:62]
ID:        1196
文本:        5536
坐标:        302, 106
大小:        84, 16
控件点击坐标:        71, 5
样式:        0x50020002
扩展样式:0x00000004
句柄:        0x00120132

>>>> 鼠标信息 <<<<
坐标:        373, 111
光标 ID:        0
颜色:        0xECE9D8

>>>> 状态栏信息 <<<<   

>>>> 工具栏信息  <<<<

>>>>  可见文本 <<<<
System Status
Faulty Component Ratio
1
R64 (3       , 13.0%)
2
R29 (3       , 13.0%)
3
R12 (2       , 8.6%)
4
R62 (2       , 8.6%)
5
R37 (2       , 8.6%)
6
C6 (1       , 4.3%)
7
C62 (1       , 4.3%)
8
U3 (1       , 4.3%)
9
R6 (1       , 4.3%)
10
R61 (1       , 4.3%)
PCB Statistics
Pass Rate
[
]
44
%
Number of Inspected PCBs
[
]
16
Number of Good PCBs
[
]
7
Number of Faulty PCBs
[
]
9
Fail Rate
[
]
4155
ppm
Number of Components to Inspect
[
]
5536
Number of Good Components
[
]
5513
Number of Faulty Components
[
]
23


>>>>  隐藏文本 <<<<
System Status
Piece

本帖子中包含更多资源

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

×
发表于 2014-10-12 10:32:32 | 显示全部楼层
无标题情况下,为了区分窗口,文本是必要要的。这样才能定位哪个窗口??
 楼主| 发表于 2014-10-12 11:53:24 | 显示全部楼层
无标题情况下,为了区分窗口,文本是必要要的。这样才能定位哪个窗口??
tvzml 发表于 2014-10-12 10:32



    我的代码分两种,有文本与没有文本的都有,可是都抓不到我想要结果啊?
 楼主| 发表于 2014-10-12 11:53:46 | 显示全部楼层
学习了,谢谢楼主
zxxpt9 发表于 2014-10-12 09:36



    不看贴就回
发表于 2014-10-12 12:18:44 | 显示全部楼层
你先拿窗口句柄再拿控件啊
发表于 2014-10-12 12:19:02 | 显示全部楼层
当然 拿窗口句柄最好也用高级模式
 楼主| 发表于 2014-10-12 12:31:30 | 显示全部楼层
当然 拿窗口句柄最好也用高级模式
header 发表于 2014-10-12 12:19



    不知道怎么用啊,能不能给一行代码,谢谢!
 楼主| 发表于 2014-10-12 12:32:15 | 显示全部楼层
回复 7# header


    感谢支持, 不知道什么是拿窗口句柄,具体怎么用呢?
发表于 2014-10-12 15:49:21 | 显示全部楼层
本帖最后由 131738 于 2014-10-12 15:55 编辑

回复 1# touch_xu

用类名试试......
发表于 2014-10-12 18:45:48 | 显示全部楼层
回复  header


    感谢支持, 不知道什么是拿窗口句柄,具体怎么用呢?
touch_xu 发表于 2014-10-12 12:32


Run("notepad.exe")
$handle = ControlGetHandle("[CLASS:Notepad]", "", "Edit1")
 楼主| 发表于 2014-10-12 21:32:47 | 显示全部楼层
回复  touch_xu

用类名试试......
131738 发表于 2014-10-12 15:49



    MsgBox(0,"",ControlGetText("","Inspect","[CLASS:Static; INSTANCE:62;ID:1196]")

这段代码中已经包含类名了啊, 请教"131738 "元老该怎么做呢?
 楼主| 发表于 2014-10-12 21:41:56 | 显示全部楼层
Run("notepad.exe")
$handle = ControlGetHandle("[CLASS:Notepad]", "", "Edit1")
tvzml 发表于 2014-10-12 18:45



    可能是自己真的没有用过这个, ControlGetText ( "窗口标题", "窗口文本", 控件ID)
    句柄拿到了后, 然后要获取控件值, 是不是这样用, ControlGetText ( 窗口句柄, "窗口文本", 控件句柄) 呢, 当然明天我也会再场去试一下,谢谢!
发表于 2014-10-13 09:06:58 | 显示全部楼层
本帖最后由 131738 于 2014-10-13 09:24 编辑

回复 12# touch_xu

ControlGetText
获取控件文本.

ControlGetText ( "标题", "文本", 控件ID )

参 数
标题 目标窗口标题, 或句柄, 或类名. 参考窗口标题与文本(高级).
文本 目标窗口文本. 参见 窗口标题与文本
控件ID 控件标识符. 相关说明见 控件.

没有可选参数, 3个参数都必须指定,不能为 "", 这个窗口没有标题,但不是有窗口类名吗?就有窗口类名试试......
ControlGetText ("", ..., ...) 这个 "" 是致命错误, 你不告诉 ControlGetText 到什么窗口去获取, 它就罢工了.....
如果不是自动操作, 而且是先出窗口, 在出消息框, 则 这个 "" 可以用句柄, 句柄用窗口信息工具获取....
如果是自动操作, 可用 _WinAPI_EnumProcessWindows 函数获取窗口句柄, 具体用法看帮助.......
 楼主| 发表于 2014-10-13 09:40:11 | 显示全部楼层
回复  touch_xu

ControlGetText
获取控件文本.

ControlGetText ( "标题", "文本", 控件ID )

参  ...
131738 发表于 2014-10-13 09:06


不知道不能用"",太感谢了,正在尝试,下面是我的代码,测试完成再来反馈,谢谢!
WinWaitActive("[CLASS:#32770]")
Local $WinHandle =WinGetHandle("[CLASS:#32770]", "Inspect")

Local $CtrlHandle =ControlGetHandle($WinHandle,"Inspect","[CLASS:Static; INSTANCE:62;ID:1196]")

MsgBox(0,"",ControlGetText($WinHandle,"Inspect",$CtrlHandle))
 楼主| 发表于 2014-10-13 18:39:30 | 显示全部楼层
回复  touch_xu

ControlGetText
获取控件文本.

ControlGetText ( "标题", "文本", 控件ID )

参  ...
131738 发表于 2014-10-13 09:06


十分感谢,已经解决了.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 14:56 , Processed in 0.084638 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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