jy28520 发表于 2011-8-5 09:22:45

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

本帖最后由 jy28520 于 2011-8-5 22:33 编辑

使用au3自动安装一个程序,在程序安装完成之后会弹出大量的提示注册dll文件成功的对话框。
开始尝试使用winwaitactive和send的方式发送按键,但是有时候会出现有的窗口点击了,有的没有的问题,及时鼠标点击上去给予了焦点也不执行。
使用了controclick也是有时候能够点击到,有时候完全不起作用。
请教高手应该怎么办?

happytc 发表于 2011-8-5 10:01:38

居然是09年注册的,现在是第一帖,而还有:金钱1000多

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

你的问题太空泛了,没有试验,那个也没法帮你。
就是用你说的那几个函数干事

supersp 发表于 2011-8-5 10:39:30

注册DLL有隐藏开关的, regsvr32 /s
cmd输入 regsvr 可以查看详细

jiandanai121 发表于 2011-8-5 10:54:44

厉害厉害厉害

wa18239 发表于 2011-8-5 11:07:50

1贴金钱1000多,汗。。。怎么才能达到呢。膜拜{:face (288):}

jy28520 发表于 2011-8-5 16:20:50

回复 3# supersp


    这个参数我知道,我的意思是安装了一个特定的程序,安装完了之后出大量的regsrv32的对话框。安装程序很变态不能静默。。。。

acbs 发表于 2011-8-5 21:02:19

可以将程序发上来测试一下会方便些。

jy28520 发表于 2011-8-5 22:07:32

感谢大家的支持!自己搞定了,为了方便大家自动安装这种变态的程序,贴上我自己写的代码,写的比较烂,大家将就将就吧。。。

$var=WinList()
For $i= 1 To $var
        If $var[$i]=="RegSvr32" Then
        MsgBox(0,$var[$i],$i,2)
        WinActivate($var[$i])
        WinWaitActive("RegSvr32")
        ControlClick("RegSvr32","","Button1")
        EndIf
        Next
       
感谢论坛,感谢谷歌!
通过winlist列出所有的窗口,通过for和winlist的返回值加上if判断出所有的regsvr32的数量和句柄,然后用winactive激活通过controclick点击button1(我试过了都是button1)就可以了
页: [1]
查看完整版本: 大量相类似的窗口点击[已解决]