自动安装脚本问题
在编写安装flash player11.2版本自动安装脚本的时候到了下图界面不知道怎么写了,试了好几个方法都不行,求高手解答。。。。。。 多少帖子多少好心人都说明了,此软件有静默安装参数WinWaitActive的标题请你用Au3Info.exe获取
目测你的标题有问题 本帖最后由 地平线 于 2012-3-23 17:23 编辑
给个例子给你参考,自己修改。正如LS所说,窗口标题和包含文本用Au3Info.exe获取,然后复制。
Run("flashplayerPlugin_11.1.102.55.exe")
WinWaitActive("Adobe Flash Player 11.1 安装程序","我已经阅读并同意")
Send("{TAB}{SPACE}")
Send("{TAB 2}{ENTER}")
WinWaitActive("Adobe Flash Player 11.1 安装程序","当与 Flash Player 一起安装时")
Send("{TAB}{ENTER}") 本帖最后由 nmgwddj 于 2012-3-23 17:22 编辑
你这标题没人肯给你正确答案,包含我这句。 你这标题没人肯给你正确答案,包含我这句。
nmgwddj 发表于 2012-3-23 17:18 http://www.autoitx.com/images/common/back.gif
把标题改清楚点吧,我是看到图片才点进来的。 我下了个11.2的来测试 写了如下代码 作为参考吧
因为这个窗口的"同意"其实是个Button控件 而不是Checkbox,用ControlCommand 勾选无效 所以用的是取"安装"按钮的颜色来判断是否已经勾选"同意"另外我下的这个11.2安装完成后是图中这个样子 和以前不太一样 如果楼主的不是这个界面的话 可以参考判断是否勾选"同意"这段 对是否完成安装作判断
$Title = "Adobe Flash Player 11.2 安装程序"
Do
WinActivate ($Title)
ControlClick($Title, "许可协议", "Button4")
Sleep(100)
$WinPos = WinGetPos($Title)
Until PixelGetColor($WinPos + 396, $WinPos + 263) = 16645629
Sleep(100)
ControlClick($Title, "许可协议", "Button3")
WinWait($Title, "安装完成")
Sleep(100)
ControlClick($Title, "安装完成", "Button8")
只能用键盘send,没有类的 回复 6# zch11230
运行后出错了,出现以下Error:
Line 20(File "E:\Documents and Settings\Administrator\桌面\flashplayer.au3"):
Until PixelGetColor($WinPos + 396, $WinPos + 263) = 16645629
Until PixelGetColor($WinPos^ ERROR
Error: Subscript used with non-Array variable.
16645629,这串数字是指颜色吗?请问是怎么得到的。我用Au3Info.exe获取的是0xFDFDFD。 回复 8# 地平线
FDFDFD转为10进制就是16645629报错应该是因为$winpos不是数组 说明Wingetpos没有得到安装程序窗口的信息,看一下你的安装程序的标题不是"Adobe Flash Player 11.2 安装程序" 换成你用Au3Info得到的标题 或者试一下我测试的这个版本 http://52.duote.org/install_flash_player_10_active_x.zip
另外可以通过跟参数-install静默安装 试一下吧. 本帖最后由 地平线 于 2012-3-23 21:32 编辑
LZ如果想简单的话可以用zch11230提供的“跟参数-install静默安装”方法。
我自己写了个批处理,就一句话如下"%cd%\flashplayer11.2_p6_win_ax32.exe" -install
把安装文件和批处理放到同一个目录,运行批处理就行。
我用封装工具制作了一个成品,LZ要的就拿去用。FlashPlayer-11.2-IE-AutoInstall(自动静默安装) http://115.com/file/c2ew5wxf#
用的封装工具:绿色单文件封装工具-v1.4http://115.com/file/e7j09krx# Dim $a =123456来读取数据定义
页:
[1]