lklkco 发表于 2012-4-5 19:57:52

Do   ;开始一 个无限循环
      ;任意代码_可以是很多条
Until PixelGetColor(X坐标 , Y坐标) = 0x000000;此循环的结束条件指定位置 = 指定颜色
;指定位置“完成”按钮某点的颜色

大哥写具体点。

lklkco 发表于 2012-4-5 20:26:54

暴风影音5 AU3 到完成怎么激活不了窗口,点击完成。希望高手们指导下。我是菜鸟。


Run(@TempDir&"\暴风影音5.exe")
$title="安装 暴风影音5 正式版"
winWaitActive($title)
ControlClick($title,"开始安装","Button2")
WinWaitActive($title,"程序安装目录")
WinActive($title,"程序安装目录")
ControlSetText($title,"程序安装目录","","d:\Program Files\Baofeng\StormPlayer")
ControlClick($title,"下一步(&N) >","Button2")
winWaitActive($title)
ControlClick($title,"安装(&I)","Button2")
winWaitActive($title)
ControlClick($title,"完成(&F)","Button2")

地平线 发表于 2012-4-5 21:54:08

回复 16# lklkco
没有安装程序,没法写具体。你查查帮助文件。
推荐看看这个“酷狗音乐2012 安装脚本[非模拟鼠标] 另类思路带注释”http://www.autoitx.com/forum.php?mod=viewthread&from=notice&tid=31441
里面的这一段可以提供一个思路。
Do
      Sleep(200)
Until ControlCommand($Hwnd,'',$CtrlH,'IsVisible') ;可见时说明已经安装完成,下一个界面就是推荐界面了.

zch11230 发表于 2012-4-6 12:02:32

把这段插入到倒数第二行试试上班没有办法测试
另外winWaitActive改为winWait就可以了窗口不用处于激活状态但是一定要加入当前页面的文本比如winwait ($title,"开始安装")   "开始安装" 这几个字很关键,用于判断当前软件安装到哪一步了。
do
sleep (100)
until controlcommand ($title,"完成","Button2","IsEnabled","") = 1

lklkco 发表于 2012-4-6 15:25:03

大哥还是不行,都试了几遍了。没有反应,就是看不见文本。不是早就变完了。还有其它办法吗????

lklkco 发表于 2012-4-8 15:42:45

怎么没有人解决这个问题呀,高手都去哪里了。

lklkco 发表于 2012-4-8 15:49:27

还是没有解决问题,不科学。

lklkco 发表于 2012-4-8 15:49:36

还是谢谢大家。

zldfsz 发表于 2012-4-8 16:10:13

Do   ;开始一 个无限循环
      ;任意代码_可以是很多条
Until PixelGetColor(X坐标 , Y坐标) = 0x0000 ...写具体点。
lklkco 发表于 2012-4-5 11:57 http://www.autoitx.com/images/common/back.gif

    可以参考这个例子http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&pid=408458&ptid=30864

tttbbb999 发表于 2012-4-9 19:22:35

主要原因在于过程窗口和结束窗口没有文本区别,仅能通过控件文本来判断。建议循环枚举控件,获取控件值,直到=“完成”时,再执行点击动作。

星雨朝霞 发表于 2012-4-10 20:35:22

为什么我从官网下的和你这个不一样的呢..

abcda0123 发表于 2012-4-10 22:41:06

本帖最后由 abcda0123 于 2012-4-11 22:48 编辑

我是也是新手,像种总方法可以完成安装
#RequireAdmin
TrayTip("BDFY制作暴风影音自动安装","在此期间请勿进行键盘鼠标操作...","",1)
Sleep(1000)
FileInstall("暴风影音5.exe",@TempDir&"\暴风影音5.exe",1)
Run(@TempDir&"\暴风影音5.exe")
$title="安装 暴风影音5 正式版"
winWaitActive($title)
ControlClick($title,"开始安装","Button2")
WinWaitActive($title,"程序安装目录")
WinActive($title,"程序安装目录")
ControlSetText($title,"程序安装目录","","d:\Program Files\Baofeng\StormPlayer")
ControlClick($title,"下一步(&N) >","Button2")
ControlClick($title,"安装(&I)","Button2")
Sleep(25000)
ControlClick($title,"完成(&F)","")
Sleep(2000)
ProcessClose("StormPlayer.exe")
Local $PID = ProcessExists("StormPlayer.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)
Sleep(1000)
ProcessClose("Welcome.exe")
Local $PID = ProcessExists("Welcome.exe") ; Will return the PID or 0 if the process isn't found.
If $PID Then ProcessClose($PID)
TrayTip("完成安装","在此期间请勿进行键盘鼠标操作...","",1)
exit

xz00311 发表于 2012-4-11 09:18:17

winwait之后就可以点击了
ControlClick($title,"完成(&F)","Button2")

顽固不化 发表于 2012-4-11 11:57:32

本帖最后由 顽固不化 于 2012-4-11 12:10 编辑

说了半天不说软件是从哪里下载的,官方的?人家修改的?
估计“安装”的过程中你就去点了,点击时那个确定还处于不可用状态。
所以你要判断他是否可用,再确定点击时刻。

Run(@TempDir&"\暴风影音5.exe")
$title="安装 暴风影音5 正式版"
winWait($title,'开始安装')
ControlClick($title,'开始安装','Button2')
WinWait($title,'程序安装目录')
ControlSetText($title,"程序安装目录","","d:\Program Files\Baofeng\StormPlayer")
ControlClick($title,"下一步(&N) >","Button2")
WinWait($title,'安装(&I)')
ControlClick($title,"安装(&I)","Button2")
WinWait($title,'完成(&F)')
While Not ControlCommand($title,'完成(&F)','Button2','IsEnabled','')
        Sleep(200)
WEnd
ControlClick($title,"完成(&F)","Button2")

XiaoFang 发表于 2012-4-23 10:23:41

¥=小手一抖=¥
¥=金币拿走=¥
{:1_415:}
页: 1 [2]
查看完整版本: 暴风影音5 AU3代码 到最后步不知道怎么写了,希望高手们个指导下