找回密码
 加入
搜索
查看: 2708|回复: 6

[AU3基础] [已解决]紧急请教一个简单的ControlClick点击两个按钮问题

  [复制链接]
发表于 2011-2-7 15:37:04 | 显示全部楼层 |阅读模式
本帖最后由 gqy7979948 于 2011-2-7 17:14 编辑

代码非常简单(我这个水平只能写这种水平的代码):
msgbox(0,"工作提示","切换后5秒钟后开始自动点击,确定后将鼠标移到要点的按钮上" & @crlf & "中途要退出请按<Ctrl+Down>,请注意时间")
sleep(5000)
ControlClick("","是(&Y)",6)
ControlClick("卖出交易确认","卖出确认",7015)
上述代码解决的问题是,我有两个证券帐户,首先把两个帐户的交易页面全部放到屏幕上,分别填好卖单(最后一步“确认”按钮让程序自动点击(以最快的速度分别点击两个帐户的“确认”按钮))。
我的问题如下:
1)测试时发现一个奇怪的现象,就是第一次运行时只能自动点击一个按钮,然后把被点击的按钮恢复后再重新执行一次程序,就可以实现自动点击两个按钮的动作了。为什么会这样?有办法解决吗?
2)上述程序在执行时点击两个按钮的动作是依次进行的(先点击前面一行代码中的按钮,然后再点击后面一行代码中的按钮?)还是两个按钮同时点击?如果是依次点击,两次点击动作间隔多少时间?有办法控制两次点击动作间的间隔时间吗?
 楼主| 发表于 2011-2-7 15:46:29 | 显示全部楼层
补充一下。我发现,第一次执行程序时,点击的按钮是处于激活状态(按钮所在窗口为绿色)的窗口中的按钮,而另一个处于非激活状态(按钮所在窗口为灰色)的窗口中的按钮则没有被点击。第二次执行程序时,两个按钮就全部被点击了。
发表于 2011-2-7 16:22:22 | 显示全部楼层
au3不支持多线程,点击当然是依次点击的,时间间隔可能得看电脑的反应速度
发表于 2011-2-7 16:25:59 | 显示全部楼层
本帖最后由 mozha 于 2011-2-7 16:27 编辑

激活指定的窗口(设置焦点到该窗口,使其成为活动窗口).
WinActivate ( "窗口标题" [, "窗口文本"] )

先激活指定的窗口,再点就不会出问题。可能是窗口消息机制的原因吧
 楼主| 发表于 2011-2-7 16:31:44 | 显示全部楼层
au3不支持多线程,点击当然是依次点击的,时间间隔可能得看电脑的反应速度
papapa314 发表于 2011-2-7 16:22


谢谢这位朋友的指教。再请教一下,如果我使用物理座标点击方法,使用
mouseclick("left",157,436,1,0)

mouseclick("left",770,366,1,0)
来实现依次点击两个按钮的动作。
请问,哪一种方法点击两个按钮的动作间隔时间更短一些?是使用ControlClick间隔时间短,还是使用mouseclick时间短?
另外,我的第一个问题能给解答一下吗?
发表于 2011-2-7 16:35:38 | 显示全部楼层
本帖最后由 mozha 于 2011-2-7 16:36 编辑

最好加上sleep(100)给个延时,太快了有时就会反应不了
 楼主| 发表于 2011-2-7 17:00:58 | 显示全部楼层
激活指定的窗口(设置焦点到该窗口,使其成为活动窗口).
WinActivate ( "窗口标题" [, "窗口文本"] )

先激 ...
mozha 发表于 2011-2-7 16:25


非常非常感谢这位朋友的指教。按照你教的方法试了一下,问题解决了。只是感觉在点击两个按钮的时间间隔上比以前略有延迟,不过这个间隔时间基本上能满足要求了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 21:46 , Processed in 0.075462 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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