【已解决】无标题窗口-内容详尽-GetText 高级模式不工作- 感谢131738
本帖最后由 touch_xu 于 2014-10-13 18:38 编辑我的代码如下,大家帮我看看错在什么地方,谢谢!
我想抓的就是Static62的内容.MsgBox(0,"",ControlGetText("","Inspect","")MsgBox(0,"",ControlGetText("","","")我想要的结果是就是下面的5882, 以上两段代码都不行, 奇怪的是可见文本里却可以看到,Please help me, thanks!
Number of Components to Inspect; 可见文本里有此内容
[
]
5536 ; 这个数字随着程序运行会变化,所以au3info信息截图与界面不同?
下面是要抓取的主程序界面的信息:
下面是此静态控件的信息:
下面是此控件的详细内容信息:
>>>>窗口 <<<<
标题:
类名: #32770
坐标: 0, 0
大小: 1280, 1024
样式: 0x94000044
扩展样式:0x00010000
句柄: 0x003F0104
>>>> 控件信息 <<<<
类名: Static
接口: 62
类别名: Static62
名称:
高级模式(类):
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 无标题情况下,为了区分窗口,文本是必要要的。这样才能定位哪个窗口?? 无标题情况下,为了区分窗口,文本是必要要的。这样才能定位哪个窗口??
tvzml 发表于 2014-10-12 10:32 http://www.autoitx.com/images/common/back.gif
我的代码分两种,有文本与没有文本的都有,可是都抓不到我想要结果啊? 学习了,谢谢楼主
zxxpt9 发表于 2014-10-12 09:36 http://www.autoitx.com/images/common/back.gif
不看贴就回 你先拿窗口句柄再拿控件啊 当然 拿窗口句柄最好也用高级模式 当然 拿窗口句柄最好也用高级模式
header 发表于 2014-10-12 12:19 http://www.autoitx.com/images/common/back.gif
不知道怎么用啊,能不能给一行代码,谢谢! 回复 7# header
感谢支持, 不知道什么是拿窗口句柄,具体怎么用呢? 本帖最后由 131738 于 2014-10-12 15:55 编辑
回复 1# touch_xu
用类名试试...... 回复header
感谢支持, 不知道什么是拿窗口句柄,具体怎么用呢?
touch_xu 发表于 2014-10-12 12:32 http://www.autoitx.com/images/common/back.gif
Run("notepad.exe")
$handle = ControlGetHandle("", "", "Edit1") 回复touch_xu
用类名试试......
131738 发表于 2014-10-12 15:49 http://www.autoitx.com/images/common/back.gif
MsgBox(0,"",ControlGetText("","Inspect","")
这段代码中已经包含类名了啊, 请教"131738 "元老该怎么做呢? Run("notepad.exe")
$handle = ControlGetHandle("", "", "Edit1")
tvzml 发表于 2014-10-12 18:45 http://www.autoitx.com/images/common/back.gif
可能是自己真的没有用过这个, ControlGetText ( "窗口标题", "窗口文本", 控件ID)
句柄拿到了后, 然后要获取控件值, 是不是这样用, ControlGetText ( 窗口句柄, "窗口文本", 控件句柄) 呢, 当然明天我也会再场去试一下,谢谢! 本帖最后由 131738 于 2014-10-13 09:24 编辑
回复 12# touch_xu
ControlGetText
获取控件文本.
ControlGetText ( "标题", "文本", 控件ID )
参 数
标题 目标窗口标题, 或句柄, 或类名. 参考窗口标题与文本(高级).
文本 目标窗口文本. 参见 窗口标题与文本
控件ID 控件标识符. 相关说明见 控件.
没有可选参数, 3个参数都必须指定,不能为 "", 这个窗口没有标题,但不是有窗口类名吗?就有窗口类名试试......
ControlGetText ("", ..., ...) 这个 "" 是致命错误, 你不告诉 ControlGetText 到什么窗口去获取, 它就罢工了.....
如果不是自动操作, 而且是先出窗口, 在出消息框, 则 这个 "" 可以用句柄, 句柄用窗口信息工具获取....
如果是自动操作, 可用 _WinAPI_EnumProcessWindows 函数获取窗口句柄, 具体用法看帮助....... 回复touch_xu
ControlGetText
获取控件文本.
ControlGetText ( "标题", "文本", 控件ID )
参...
131738 发表于 2014-10-13 09:06 http://61.153.183.105/images/common/back.gif
不知道不能用"",太感谢了,正在尝试,下面是我的代码,测试完成再来反馈,谢谢!WinWaitActive("")
Local $WinHandle =WinGetHandle("", "Inspect")
Local $CtrlHandle =ControlGetHandle($WinHandle,"Inspect","")
MsgBox(0,"",ControlGetText($WinHandle,"Inspect",$CtrlHandle))
回复touch_xu
ControlGetText
获取控件文本.
ControlGetText ( "标题", "文本", 控件ID )
参...
131738 发表于 2014-10-13 09:06 http://www.autoitx.com/images/common/back.gif
十分感谢,已经解决了.
页:
[1]
2