找回密码
 加入
搜索
查看: 1600|回复: 7

[AU3基础] 大量相类似的窗口点击[已解决]

  [复制链接]
发表于 2011-8-5 09:22:45 | 显示全部楼层 |阅读模式
本帖最后由 jy28520 于 2011-8-5 22:33 编辑

使用au3自动安装一个程序,在程序安装完成之后会弹出大量的提示注册dll文件成功的对话框。
开始尝试使用winwaitactive和send的方式发送按键,但是有时候会出现有的窗口点击了,有的没有的问题,及时鼠标点击上去给予了焦点也不执行。
使用了controclick也是有时候能够点击到,有时候完全不起作用。
请教高手应该怎么办?
发表于 2011-8-5 10:01:38 | 显示全部楼层
居然是09年注册的,现在是第一帖,而还有:金钱1000多

应该是那个的马甲
-----------------------------------------------------------

你的问题太空泛了,没有试验,那个也没法帮你。
就是用你说的那几个函数干事
发表于 2011-8-5 10:39:30 | 显示全部楼层
注册DLL有隐藏开关的, regsvr32 /s
cmd输入 regsvr 可以查看详细
发表于 2011-8-5 10:54:44 | 显示全部楼层
厉害厉害厉害
发表于 2011-8-5 11:07:50 | 显示全部楼层
1贴金钱1000多,汗。。。怎么才能达到呢。膜拜
 楼主| 发表于 2011-8-5 16:20:50 | 显示全部楼层
回复 3# supersp


    这个参数我知道,我的意思是安装了一个特定的程序,安装完了之后出大量的regsrv32的对话框。安装程序很变态不能静默。。。。
发表于 2011-8-5 21:02:19 | 显示全部楼层
可以将程序发上来测试一下会方便些。
 楼主| 发表于 2011-8-5 22:07:32 | 显示全部楼层
感谢大家的支持!自己搞定了,为了方便大家自动安装这种变态的程序,贴上我自己写的代码,写的比较烂,大家将就将就吧。。。

$var=WinList()
For $i= 1 To $var[0][0]
        If $var[$i][0]=="RegSvr32" Then
        MsgBox(0,$var[$i][0],$i,2)
        WinActivate($var[$i][1])
        WinWaitActive("RegSvr32")
        ControlClick("RegSvr32","","Button1")
        EndIf
        Next
       
感谢论坛,感谢谷歌!
通过winlist列出所有的窗口,通过for和winlist的返回值加上if判断出所有的regsvr32的数量和句柄,然后用winactive激活通过controclick点击button1(我试过了都是button1)就可以了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-1 21:45 , Processed in 0.089351 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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