li_xl 发表于 2010-4-15 21:00:45

请教:ControlGetText得不到正确的结果

本帖最后由 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对应的控件则可以收到正确的结果

请问是怎么回事?如何解决?谢谢!

nmgwddj 发表于 2010-4-15 21:18:32

没见过。帮你顶 我也想看看这问题咋解决

lanfengc 发表于 2010-4-15 22:28:17

在ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)之前插入sleep(200)人为构建一个延迟处理时间。 让
ControlGetText有足够的时间处理。

li_xl 发表于 2010-4-15 22:35:32

在ControlSend($Title_1,"",$Hwnd_1,$TEXT,1)之前插入sleep(200)人为构建一个延迟处理时间。 让
Control ...
lanfengc 发表于 2010-4-15 22:28 http://www.autoitx.com/images/common/back.gif


这个试过了,无效,slepp(1000)都不行。但是插入msgbox函数就行,费解。

sensel 发表于 2010-4-15 23:44:21

ControlSend发送的是按键,而不是字符。
A = Shift + a,# = Shift + 3。
所以你应该用ControlSetText来直接设置字符。

sango 发表于 2010-4-16 13:05:50

学习了,我也是刚学不久。
页: [1]
查看完整版本: 请教:ControlGetText得不到正确的结果