afan 发表于 2015-12-19 11:08:55

回复 15# xing999999


    如果是这样,你至少可以这样测试:看看句柄变化了几次,如果是三次就三次后关闭,不会想办法吗?

xing999999 发表于 2015-12-19 11:19:11

回复 16# afan


    还可以确定句柄变化了几次?语句是什么?我看后面那些参数没有几次的确认啊

afan 发表于 2015-12-19 11:22:40

回复afan


    还可以确定句柄变化了几次?语句是什么?我看后面那些参数没有几次的确认啊
xing999999 发表于 2015-12-19 11:19 http://www.autoitx.com/images/common/back.gif


    无语了。。。你以为有万能函数? 自己写

xing999999 发表于 2015-12-19 11:27:05

回复 18# afan


    老师,这太强人所难了,我真写不出。完全没概念,你能否随便拿个其他的例子发来,我研究下?

afan 发表于 2015-12-19 11:35:16

本帖最后由 afan 于 2015-12-19 11:36 编辑

回复 19# xing999999


    还是从有控件的操作学起吧,你这样空降下来,选个“相对的难题”啃,又不肯自己研究,太累!不是指你,是我! 你没发现几乎没人回复你这类贴吗? 太基础Local $srf = "2345王牌输入法v3.5安装"
Run("2345pinyin.exe")
Local $hWnd0 = WinWait($srf)
WinActivate($srf)
Send("{ENTER}")
Local $hBak = $hWnd0, $iC = 0, $iDone = 3
Do
      Sleep(50)
        $hWnd0 = WinGetHandle($srf)
        If $hWnd0 <> $hBak Then
                $iC += 1
                Tooltip($iC)        ;提醒变化的次数。到最后的窗口出现,即为总变化次数,记住这个值,写在上面的 $iDone = 后面
        EndIf
Until $iC = $iDone
Msgbox(0, '', '已出现安装完成窗口?')
WinActivate($srf)
Send("{ENTER}")

xing999999 发表于 2015-12-19 11:36:09

回复 20# afan


    半路出来的,野路子没办法。。还好有您{:face (356):}

afan 发表于 2015-12-19 11:40:24

回复afan


    半路出来的,野路子没办法。。还好有您
xing999999 发表于 2015-12-19 11:36 http://www.autoitx.com/images/common/back.gif


    有个P,你不私信骚扰我我都不会回了,太累

xing999999 发表于 2015-12-19 11:43:59

调试成功。。$iDone要大于50才成功。。。虽然上面是有变化的次数,但是到了最后结束窗口出来后,变化的次数依然在不停的增加。。也就是我设置为$iDone=1000也等于是在倒数时间一样,倒数1000,然后就发送回车结束。。

xing999999 发表于 2015-12-19 11:46:48

回复 20# afan


而且我设置为$iDone = 40的时候,有时候成功,有时候失败。。像是sleep的感觉。。

afan 发表于 2015-12-19 11:49:40

调试成功。。$iDone要大于50才成功。。。虽然上面是有变化的次数,但是到了最后结束窗口出来后,变化的次数 ...
xing999999 发表于 2015-12-19 11:43 http://www.autoitx.com/images/common/back.gif


    那肯定是重复句柄,你需要继续改进

ila 发表于 2015-12-19 11:50:32

这个公司对静默安装运用的出神入化,我怀疑这安装包也可以用静默安装。
用“程序静默参数扫描工具”扫扫

xing999999 发表于 2015-12-19 11:51:19

回复 25# afan


    老师你声明了$hBak,但是这个变量为什么没赋值呢

xing999999 发表于 2015-12-19 11:52:05

回复 26# ila


    我只是拿来学习,因为发现他们的安装工具全部都是控件不可获取的- -。。。

afan 发表于 2015-12-19 11:54:19

Local $srf = "2345王牌输入法v3.5安装"
Run("2345pinyin.exe")
Local $hWnd0 = WinWait($srf)
WinActivate($srf)
Send("{ENTER}")
Local $iC = 0, $iDone = 3
Assign($hWnd0, 0)
Do
      Sleep(50)
      $hWnd0 = WinGetHandle($srf)
      If Not IsDeclared($hWnd0) Then
                Assign($hWnd0, 0)
                $iC += 1
                Tooltip($iC)      ;提醒变化的次数。到最后的窗口出现,即为总变化次数,记住这个值,写在上面的 $iDone = 后面
      EndIf
Until $iC = $iDone
Msgbox(0, '', '已出现安装完成窗口?')
WinActivate($srf)
Send("{ENTER}")

ila 发表于 2015-12-19 11:55:20

回复ila


    我只是拿来学习,因为发现他们的安装工具全部都是控件不可获取的- -。。。
xing999999 发表于 2015-12-19 11:52 http://www.autoitx.com/images/common/back.gif


    果然有,静默参数是 /s
页: 1 [2] 3
查看完整版本: [已解决]面对那些无法获取控件,并且安装过程中窗口大小一样的要怎么做自动化呢?