antony410 发表于 2012-6-17 23:16:53

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

本帖最后由 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

www378660084 发表于 2012-6-18 08:46:56

窗口信息一样,就隔0.5秒点下下一步,一直点,直到出现最后的窗口为止.

user3000 发表于 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', '', 'left', 2)
ControlSend($title, 'PPTV subwindow', '', '{bs 25}')
ControlSend($title, 'PPTV subwindow', '', '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+389, $pos+337) = 0x0087cb Then ExitLoop
        Sleep(100)
WEnd
Opt('MouseCoordMode', 0)
WinActivate($title, 'PPTV subwindow')
ControlClick($title, 'PPTV subwindow', '', 'left', 1, 37, 67)
ControlClick($title, 'PPTV subwindow', '', 'left', 1, 263, 67)
ControlClick($title, 'PPTV subwindow', '', 'left', 1, 36, 210)
Sleep(430)
WinActivate($title, 'PPTV subwindow')
MouseClick('left', 388, 337, 1, 0)
Sleep(300)
ControlClick($title, 'PPTV subwindow', '', 'left', 1, 200, 191)
Sleep(10000)
WinActivate($title, 'PPTV subwindow')
MouseClick('left', 388, 337, 1, 0)

ooxxgod 发表于 2012-6-18 14:52:51

鼠标模拟点击呗

xlj310 发表于 2012-6-18 20:07:01

本帖最后由 xlj310 于 2012-6-18 22:25 编辑

回复antony410


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


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

内容转至本人帖,请移步!
PPTV最新版3.1.6.0056全自动安装 撒手不管,保证完全任务!
http://www.autoitx.com/forum.php?mod=viewthread&tid=32947&page=1&extra=#pid448496

user3000 发表于 2012-6-19 06:01:32

楼主不厚道, 解决了问题, 没给答案, 开新帖收费..
那我只有把那边的源码帖到这边来了!
;~ ;安装PPTV----By 逗你玩!   生活就是玩呀玩!{:face (301):}

;~ ;安装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,$pos,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,$pos,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,$pos,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

xlj310 发表于 2012-6-19 10:16:14

本帖最后由 xlj310 于 2012-6-19 10:17 编辑

楼主不厚道, 解决了问题, 没给答案, 开新帖收费..
那我只有把那边的源码帖到这边来了!
user3000 发表于 2012-6-19 06:01 http://www.autoitx.com/images/common/back.gif


    {:face (411):}  是不是啊?被曝光了!
其实我也只收了两块钱,还要交一块钱的税,难道不是吗?{:face (303):}
页: [1]
查看完整版本: PPTV3.1.5.65没有控制ID如何写自动安装脚本?(已经解决)