找回密码
 加入
搜索
查看: 4795|回复: 5

[AU3基础] 请教:ControlGetText得不到正确的结果

  [复制链接]
发表于 2010-4-15 21:00:45 | 显示全部楼层 |阅读模式
本帖最后由 li_xl 于 2010-4-15 21:44 编辑

用ControlGetText获取edit控件的文本,总是得不到正确的结果,大写字母自动被转换为小写字母,符号自动被转为对应按键的数字
比如edit控件的内容是“AAAAAA”
$TEXT=ControlGetText($Title_0,"", $Edit_1)
ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)
$Hwnd_1对应的控件收到“aaaaaa”

又比如edit控件的内容是“######”
$TEXT=ControlGetText($Title_0,"", $Edit_1)
ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)
$Hwnd_1对应的控件收到“333333”

如果在ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)之前插入MsgBox(0,"文本",$TEXT,0)
$Hwnd_1对应的控件则可以收到正确的结果

请问是怎么回事?如何解决?谢谢!
发表于 2010-4-15 21:18:32 | 显示全部楼层
没见过。帮你顶 我也想看看这问题咋解决
发表于 2010-4-15 22:28:17 | 显示全部楼层
在ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)之前插入sleep(200)  人为构建一个延迟处理时间。 让
ControlGetText有足够的时间处理。
 楼主| 发表于 2010-4-15 22:35:32 | 显示全部楼层
在ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)之前插入sleep(200)  人为构建一个延迟处理时间。 让
Control ...
lanfengc 发表于 2010-4-15 22:28



这个试过了,无效,slepp(1000)都不行。但是插入msgbox函数就行,费解。
发表于 2010-4-15 23:44:21 | 显示全部楼层
ControlSend发送的是按键,而不是字符。
A = Shift + a,# = Shift + 3。
所以你应该用ControlSetText来直接设置字符。

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-4-16 13:05:50 | 显示全部楼层
学习了,我也是刚学不久。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-20 16:21 , Processed in 0.084923 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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