找回密码
 加入
搜索
查看: 5406|回复: 6

[网络通信] PPTV3.1.5.65没有控制ID如何写自动安装脚本?(已经解决)

  [复制链接]
发表于 2012-6-17 23:16:53 | 显示全部楼层 |阅读模式
本帖最后由 antony410 于 2012-6-26 23:33 编辑

PPTV 3.1.5.65没有控制ID如何写自动安装脚本?
静默安装参数只能安装到c:\下
想将它安装到d:\ ,每个安装步骤的窗口信息都是一样的,安装进度条也判断不了什么时间完成安装?哪个时机才点击"完成"按钮。






谢谢,楼上几位朋友的解答,我用的autoit 是 3.23.2,一运行楼上几位的代码就出错,可能是版本的问题。
我换了一种方法去安装到D盘,
下载静默版的pptv,然后使用参数 /D=D:\Program Files (x86)\PPLive\PPTV, 问题解决了。
http://dl.dbank.com/c0z8ja3waw

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-6-18 08:46:56 | 显示全部楼层
窗口信息一样,就隔0.5秒点下下一步,一直点,直到出现最后的窗口为止.
发表于 2012-6-18 09:54:07 | 显示全部楼层
回复 1# antony410


   从它官网下个新版本, 下面代码勉强做到自动完成安装.
只是个示例,  希望启发思路, 非范例!
Opt('MouseCoordMode', 0)
$title = 'PPTV网络电视 V3.1.6.0056 安装'
; 安装过程中, 要禁用鼠标键盘输入, 以免造成影响, 本示例未禁用!
ShellExecute('pptvsetup_3.1.6.0056_forbd.exe')
Do
        Sleep(100)
    WinActivate($title, 'PPTV subwindow')
Until WinActive($title, 'PPTV subwindow')

ControlClick($title, 'PPTV subwindow', '[CLASS:ATL:Edit; INSTANCE:1]', 'left', 2)
ControlSend($title, 'PPTV subwindow', '[CLASS:ATL:Edit; INSTANCE:1]', '{bs 25}')
ControlSend($title, 'PPTV subwindow', '[CLASS:ATL:Edit; INSTANCE:1]', 'd:\')
Sleep(500)
WinWaitActive($title, 'd:\')
MouseClick('left', 388, 337, 1, 0) ; 测试中, 发现 发送回车等按键无效, 折中做法.

Sleep(8000)

Opt('MouseCoordMode', 3)
While 1
        If Not WinActive($title) Then WinActivate($title)
        $pos = WinGetPos($title, 'PPTV subwindow')
        If @error Then Exit
        
        If PixelGetColor($pos[0]+389, $pos[1]+337) = 0x0087cb Then ExitLoop
        Sleep(100)
WEnd
Opt('MouseCoordMode', 0)
WinActivate($title, 'PPTV subwindow')
ControlClick($title, 'PPTV subwindow', '[CLASS:PPGuiFoundation; INSTANCE:4]', 'left', 1, 37, 67)
ControlClick($title, 'PPTV subwindow', '[CLASS:PPGuiFoundation; INSTANCE:4]', 'left', 1, 263, 67)
ControlClick($title, 'PPTV subwindow', '[CLASS:PPGuiFoundation; INSTANCE:4]', 'left', 1, 36, 210)
Sleep(430)
WinActivate($title, 'PPTV subwindow')
MouseClick('left', 388, 337, 1, 0)
Sleep(300)
ControlClick($title, 'PPTV subwindow', '[CLASS:PPGuiFoundation; INSTANCE:5]', 'left', 1, 200, 191)
Sleep(10000)
WinActivate($title, 'PPTV subwindow')
MouseClick('left', 388, 337, 1, 0)
发表于 2012-6-18 14:52:51 | 显示全部楼层
鼠标模拟点击呗
发表于 2012-6-18 20:07:01 | 显示全部楼层
本帖最后由 xlj310 于 2012-6-18 22:25 编辑
回复  antony410


   从它官网下个新版本, 下面代码勉强做到自动完成安装.
只是个示例,  希望启发思路 ...
user3000 发表于 2012-6-18 09:54



完美安装!-原创~ 转帖请注明出处! 撒手不管,坚决完成任务版!
;~ ;安装PPTV过程中不要随意增添TrayTip之类的语句,否则安装会出意外!

内容转至本人帖,请移步!
PPTV最新版3.1.6.0056全自动安装 撒手不管,保证完全任务!
http://www.autoitx.com/forum.php ... mp;extra=#pid448496
发表于 2012-6-19 06:01:32 | 显示全部楼层
楼主不厚道, 解决了问题, 没给答案, 开新帖收费..
那我只有把那边的源码帖到这边来了!
;~ ;安装PPTV----By 逗你玩!   生活就是玩呀玩! 

;~ ;安装PPTV过程中不要随意增添TrayTip之类的语句,否则安装会出意外!
HotKeySet('{F4}','MyExit')
TrayTip('温馨提示','如果程序出现异常'&@crlf&'只需轻轻的按一下F4脚本就会退出!',5)
Run("pptvsetup_3.1.6.0056.exe")
Sleep(1500)
TrayTip('清除提示','',0);提示不清除会影响后面的操作!
WinWait('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
ControlSetText('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','ATL:Edit1','E:\Program Files\pplive')
Opt('MouseCoordMode', 0)
Do
        BlockInput(1)
        $pos=MouseGetPos()
        WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
        MouseClick('left', 360, 330, 1, 0) ; 测试中, 发现 发送回车等按键无效, 折中做法.
        MouseMove($pos[0],$pos[1],0)
        BlockInput(0)
        Sleep(2500);这个两秒是有必要的,万一出现意外,2秒钟的时间可以让人关闭本脚本。否则可能会死循环,我自己测试时就死过机,只能强制重启电脑!
Until ControlCommand('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation2',"IsVisible", "")=0

Do 
        Sleep(100)
Until ControlCommand('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation4',"IsVisible", "")=1

WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
ControlClick('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation4','',1,37, 67);去掉立即运行PPTV
ControlClick('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation4','',1,262, 67);去掉启动windows时自动运行PPTV
ControlClick('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation4','',1,37, 210);点一下全选按钮,效果是都不选

Do        
        BlockInput(1)
        $pos=MouseGetPos()
        WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
        Sleep(150)
        MouseClick('left', 360, 330, 1, 0) ; 测试中, 发现 发送回车等按键无效, 折中做法.
        MouseMove($pos[0],$pos[1],0)
        BlockInput(0)
Until ControlCommand('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation4',"IsVisible", "")=0

Do 
        Sleep(100)
Until ControlCommand('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation5',"IsVisible", "")=1

WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
ControlClick('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow','PPGuiFoundation5','',1,202, 190);去掉安装百度工具栏

Do
        BlockInput(1)
        $pos=MouseGetPos()
        WinActivate('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')
        MouseClick('left', 360, 330, 1, 0) ; 测试中, 发现 发送回车等按键无效, 折中做法.
        MouseMove($pos[0],$pos[1],0)
        BlockInput(0)
Until Not WinExists('PPTV网络电视 V3.1.6.0056 安装','PPTV subwindow')

If FileExists(@DesktopCommonDir&'\PPTV在线影视.lnk') Then FileDelete(@DesktopCommonDir&'\PPTV在线影视.lnk')
If FileExists(@DesktopCommonDir&'\PP游戏世界.lnk') Then FileDelete(@DesktopCommonDir&'\PP游戏世界.lnk')

;经过多次测试,发现PP年度必看.lnk这个文件是在安装完成后约3秒钟才生成的~ 所以我也来个3秒钟后再删除!
Run(@ComSpec & ' /c ping 127.0.0.1 -n 5&del /q /f "'&@DesktopDir&'"\PP年度必看.lnk', @DesktopDir, @SW_HIDE);5秒后再删除一次

$i=5
Do
     TrayTip('安装完成!','感谢您使用逗你玩!脚本安装'&@CRLF&$i,5)
     sleep(1000)
    $i-=1
Until $i<0

Func MyExit()
        Exit
EndFunc
发表于 2012-6-19 10:16:14 | 显示全部楼层
本帖最后由 xlj310 于 2012-6-19 10:17 编辑
楼主不厚道, 解决了问题, 没给答案, 开新帖收费..
那我只有把那边的源码帖到这边来了!
user3000 发表于 2012-6-19 06:01



     是不是啊?被曝光了!
其实我也只收了两块钱,还要交一块钱的税,难道不是吗?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-13 18:18 , Processed in 0.079605 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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