找回密码
 加入
搜索
查看: 7539|回复: 11

[系统综合] [已解决]关于ControlClick偶尔无效的问题

  [复制链接]
发表于 2012-10-18 08:02:48 | 显示全部楼层 |阅读模式
本帖最后由 ppzpph 于 2013-1-4 09:38 编辑

首先,请各位大侠原谅,我真没有把咱们论坛的帖子看完,也没有具体搜索。我上班时间没有外网,我写程序都是爱好,业余时间写和研究的。
好的,开始我的问题:使用ControlClick的时候之前没有我就一直看着程序的运行,没有动鼠标所以程序运行顺畅。但是有一次我无意动了一下鼠标,程序就不再往下进行了。使用Msgbox调试多次,发现是在ControlClick时出现的问题。一开始我怀疑是窗体和按钮获取错误,所以在停止运行的时候,我使用彗星查看了一下窗体和按钮的信息,跟之前一样没有问题。求解答这是为什么?
也曾尝试过禁止鼠标,但是害的我重启。所以我不得不使用MouseClick来运行程序。
发表于 2012-10-18 09:48:53 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-10-18 09:56 编辑

ControlClick之前有用WinActivate吗?
建议每次ControlClick之前都用一下。否则会有失败概率的。

Func _MyClick("窗口标题", 控件id)
   If Not WinActive("窗口标题") Then WinActivate("窗口标题")
    ControlClick("窗口标题", "", 控件id)
EndFunc

有些程序在鼠标移动到其界面上后会自动激活自身(如有道词典迷你悬浮窗),导致你的应用程序被去激活。
 楼主| 发表于 2012-10-18 15:34:38 | 显示全部楼层
回复 2# xiehuahere

WinActive做了,我再具体描述一下,看看是不是特例什么的。是IE8的弹出下载的对话框。
发表于 2012-10-18 15:52:30 | 显示全部楼层
回复 3# ppzpph


    没看到代码,不知道你做得对还是不对。
  是WinActivate 不是WinActive
发表于 2012-10-18 16:56:09 | 显示全部楼层
回复 3# ppzpph

IE下载框需要sleep一下(约260毫秒左右,论坛有一个帖子说到这个的,你搜索一下)
发表于 2012-10-18 22:09:28 | 显示全部楼层
代码贴上啊,具体问题具体分析啊
 楼主| 发表于 2012-10-19 10:58:14 | 显示全部楼层
回复 5# annybaby
没有搜索到,但是我可以先试试,目前用MouseClick解决了,还好我这个软件不需要在别的电脑运行只是在我自己的电脑上运行。
 楼主| 发表于 2012-10-19 11:01:04 | 显示全部楼层
回复 4# xiehuahere

我是使用的WinActivate,我看过帮助文件这两个区别,特意留心了一下。我回头试试annybaby的方法。谢谢!
 楼主| 发表于 2012-10-19 11:03:13 | 显示全部楼层
回复 6# ghl781258

代码在办公机上,不方便,其他的地方没有问题,就是在点击按钮的语句上有问题,现在已经将ControlClick换成Mouseclick了,一切正常了。
 楼主| 发表于 2012-10-19 11:08:09 | 显示全部楼层
回复 5# annybaby


    弱弱的问一下,我怎么不能把这个帖子改成已解决呢?没有这个分类啊!
发表于 2012-10-19 14:35:32 | 显示全部楼层
回复 10# ppzpph

直接编辑主帖标题,在最前面或者最后面加上[已解决]就行了,论坛会自动移动到已解决问题区

;IE下载框点击保存
$title='文件下载 - 安全警告'
WinActivate($title,'')
Sleep(300)
ControlClick($title,'','[id:4424]')
发表于 2018-3-25 20:19:42 | 显示全部楼层
ControlClick 这破玩意经常不好用
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 01:16 , Processed in 0.086284 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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