找回密码
 加入
搜索
查看: 2437|回复: 14

请帮忙解决一个很棘手的问题!!!

[复制链接]
发表于 2009-7-23 13:51:07 | 显示全部楼层 |阅读模式
本人碰到一个很棘手的问题,在做一个自动登录程序的时候,程序输入框有字数检查,自动填入Edit类文本框时,用ControlSetText 输入后,在输入框里有正确显示,但程序不承认,试图用 send 传递数字,又被该程序加密导致数据不正确,用ControlSend和ControlSetText效果是一样的,请教各位有什么办法解决??
发表于 2009-7-23 15:05:21 | 显示全部楼层
可能还需要在Edit输入框控件ControlClick一下,呵呵,猜的
 楼主| 发表于 2009-7-23 15:27:56 | 显示全部楼层
试过了,无效,还有没有其它命令函数???
发表于 2009-7-23 16:19:47 | 显示全部楼层
本帖最后由 水木子 于 2009-7-23 16:21 编辑

这是我写QQ登录的其中部分代码,我试过N次没有问题。如果有问题再说吧!
                        WinWaitActive("QQ2009")
                        ControlSend("QQ2009","","ATL:30A334701","账号",1)
                        ControlSend("QQ2009","","Edit1","密码",1)
                        Sleep(500)
                        ControlSend("QQ2009","","Edit1","{Enter}",0)
                        Sleep(1000)
 楼主| 发表于 2009-7-23 17:33:14 | 显示全部楼层
我上面提到了 ControlSend 没有用的。。。 文本框有字数检查,用ControlSend和ControlSetText都达不到要求,比如文本框中要求输入 10位数字才能通过,用ControlSend和ControlSetText 输入后,文本框内显示比如 1234567890, 但程序却认定没有数字输入,手工可以继续在原来 1234567890 基础上再输入10个数字,而原本手工输入只能输入到第10位。。。而用 send传递到文本框中,程序是认同的,但我本来传递的是1234567890 但到了文本框里却会被随机加密为另一组 10位的数字,请高手指点下应该怎么解决。。。
发表于 2009-7-24 02:11:19 | 显示全部楼层
现在有一些控件的确有点变态。。。
技术进步了啊
 楼主| 发表于 2009-7-24 09:14:52 | 显示全部楼层
呵呵,可能就是为了防止参数传递吧...
从来没碰到过这样的问题,现在真的想不出什么办法了
发表于 2009-7-24 12:49:14 | 显示全部楼层
复制粘贴呢~~呵呵
 楼主| 发表于 2009-7-24 15:34:11 | 显示全部楼层
程序输入框是禁止复制粘贴的,包括快捷键
 楼主| 发表于 2009-7-25 13:42:20 | 显示全部楼层
各位还有解决办法吗???
发表于 2009-7-25 14:11:39 | 显示全部楼层
特殊的快捷键粘贴呢 Shift+F10 再 P
 楼主| 发表于 2009-7-25 14:22:08 | 显示全部楼层
一样的,它的输入框屏蔽了所有快捷键....
 楼主| 发表于 2009-7-26 16:05:25 | 显示全部楼层
没办法解决了么??????????
发表于 2009-7-26 22:22:46 | 显示全部楼层
au3是针对标准控件的,qq这种高版本的EDIT控件是他自己写的,对各种消息进行了屏蔽,这个要对消息机制非常熟悉才行,思路可能是:自己写个钩子程序,必须排在消息队列前头。

评分

参与人数 1金钱 +10 收起 理由
lynfr8 + 10

查看全部评分

 楼主| 发表于 2009-7-27 11:18:03 | 显示全部楼层
有没有相关的例程,本人对钩子不太了解...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 23:31 , Processed in 0.101354 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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