找回密码
 加入
搜索
楼主: lklkco

[AU3基础] 暴风影音5 AU3代码 到最后步不知道怎么写了,希望高手们个指导下

 火... [复制链接]
 楼主| 发表于 2012-4-5 19:57:52 | 显示全部楼层
Do   ;开始一 个无限循环
        ;任意代码_可以是很多条
Until PixelGetColor(X坐标 , Y坐标) = 0x000000;此循环的结束条件  指定位置 = 指定颜色
;指定位置“完成”按钮某点的颜色

大哥写具体点。
 楼主| 发表于 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 ... otice&tid=31441
里面的这一段可以提供一个思路。
Do
        Sleep(200)
Until ControlCommand($Hwnd,'',$CtrlH,'IsVisible') ;可见时说明已经安装完成,下一个界面就是推荐界面了.
发表于 2012-4-6 12:02:32 | 显示全部楼层
把这段插入到倒数第二行试试  上班没有办法测试
另外winWaitActive改为winWait就可以了  窗口不用处于激活状态  但是一定要加入当前页面的文本  比如winwait ($title,"开始安装")   "开始安装" 这几个字很关键,用于判断当前软件安装到哪一步了。
do
sleep (100)
until controlcommand ($title,"完成","Button2","IsEnabled","") = 1
 楼主| 发表于 2012-4-6 15:25:03 | 显示全部楼层
大哥还是不行,都试了几遍了。没有反应,就是看不见文本。不是早就变完了。还有其它办法吗????
 楼主| 发表于 2012-4-8 15:42:45 | 显示全部楼层
怎么没有人解决这个问题呀,高手都去哪里了。
 楼主| 发表于 2012-4-8 15:49:27 | 显示全部楼层
还是没有解决问题,不科学。
 楼主| 发表于 2012-4-8 15:49:36 | 显示全部楼层
还是谢谢大家。
发表于 2012-4-8 16:10:13 | 显示全部楼层
Do   ;开始一 个无限循环
        ;任意代码_可以是很多条
Until PixelGetColor(X坐标 , Y坐标) = 0x0000 ...写具体点。
lklkco 发表于 2012-4-5 11:57


    可以参考这个例子http://www.autoitx.com/forum.php ... 8458&ptid=30864
发表于 2012-4-9 19:22:35 | 显示全部楼层
主要原因在于过程窗口和结束窗口没有文本区别,仅能通过控件文本来判断。建议循环枚举控件,获取控件值,直到=“完成”时,再执行点击动作。
发表于 2012-4-10 20:35:22 | 显示全部楼层
为什么我从官网下的和你这个不一样的呢..
发表于 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
发表于 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")
发表于 2012-4-23 10:23:41 | 显示全部楼层
¥=小手一抖=¥
¥=金币拿走=¥

评分

参与人数 1金钱 -20 贡献 -1 收起 理由
user3000 -20 -1 很可恶的复制行为!

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 15:53 , Processed in 0.082928 second(s), 16 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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