关注互联网与Web前端技术,这里是我记录网上折腾与生活感悟的地方.

Kmplayer Plus 2010 自动安装脚本,改用全新写法

前些天,发布了一篇“AutoCAD 2007 全自动安装脚本+简体中文免激活版”,就是用AutoIT3编写的。

不过,AutoCAD2007这篇自动安装脚本,写的比较简单,只是使用了“Run”、“WinWaitActive”、“ControlClick”、“Send”这几个函数而已。当然了。有优点,也有缺点。

用此方法写的

优点:编写速度快,简单

缺点: 以后维护麻烦(比如更新软件版本).

下面介绍的这个“Kmplayer Plus 2010”将使用全新的编写方法.

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=KmplayerPlus.ico
#AutoIt3Wrapper_outfile=kmplayerPlus 2010 AutoIns.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Description=Copyright Yusky.Me
#AutoIt3Wrapper_Res_Fileversion=2010
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=N
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
#AutoIt3Wrapper_Res_LegalCopyright=Copyright (C) 2010 Yusky Group Co,.Ltd
#AutoIt3Wrapper_Res_Field=程序设计|Yusky
#AutoIt3Wrapper_Res_Field=作者网站|http://Yusky.me
#AutoIt3Wrapper_Res_Field=更新日期|2010-08-09
#AutoIt3Wrapper_Res_Field=适用版本|Kmplayer Plus 2010
#AutoIt3Wrapper_Res_Field=源文件名|Kmplayer Plus 2010.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****

#cs ____________________________________

Au3 版本: V3.3.6.1
脚本作者: Yusky
Email: i@yusky.me
QQ/TM: 6783138
脚本版本: v11
脚本功能: SoftWareAutoInstall

#ce _______________脚本开始_________________

Opt("WinDetectHiddenText",1)
Opt("WinTitleMatchMode",4)
Opt("TrayAutoPause",0)

;最小化所有窗口
WinMinimizeAll()

$sMsgBox_Title = "自动安装    By:Yusky"
$sAppName = "“Kmplayer Plus 2010”"
$sInstallerName = "Kmplayer Plus 2010.exe"

;此段脚本判断安装文件是否存在,如果不存在提示消息框后退出
;~ $sCannotFindInstaller = "安装终止:无法找到安装程序"
;~ If Not FileExists($sInstallerName) Then
;~ 	$MsgBox_Text = $sCannotFindInstaller & @ScriptDir &""& $sInstallerName
;~ 	MsgBox(270352, $sMsgBox_Title , $MsgBox_Text, 5)
;~ 	Exit
;~ EndIf

;此段脚本显示确认继续安装消息框,消息框为是和否
$sSureContinue = "将自动安装软件,要继续吗?"
$sWarnning = "警告:安装前请先退出所有正在运行的 Windows 应用程序。"
$MsgBox_Text = $sAppName & $sSureContinue & @CRLF & @CRLF & $sWarnning
;选择“否”则退出,否则继续执行脚本
If (MsgBox(270372, $sMsgBox_Title, $MsgBox_Text, 2) = 4) Then
;退出
Exit
Else
;执行安装程序
Run($sInstallerName)
EndIf

;显示托盘区气球,“正在安装....”
$sSetupNow = "正在安装"
$sTrayTip_Text = $sSetupNow & $sAppName
$sTrayTipIcon = 1    ; 0=没有图标(默认) , 1=消息, 2=警告, 3=错误
TrayTip($sMsgBox_Title, $sTrayTip_Text, 10,$sTrayTipIcon)

;定义常量字符串
$TITLE = "Kmplayer Plus 2010"
$TITLE2 = "Kmplayer Plus 文件关联 "
$TITLE3 = "设置程序 - Kmplayer Plus 2010"

$Comment1 = "欢迎使用“Kmplayer Plus”安装向导"
$Comment2 = "许可证协议"
$Comment3 = "选择组件"
$Comment4 = "超级兔子"
$Comment5 = "选择安装位置"
$Comment6 = "正在安装"
$Comment7 = "选择文件格式"
$Comment8 = "正在完成“Kmplayer Plus”安装向导"
$Comment9 = ""

;欢迎
WinWait($TITLE, $Comment1)
If Not WinActive($TITLE, $Comment1) Then WinActivate($TITLE, $Comment1)
WinWaitActive($TITLE, $Comment1)
;点击“下一步(&N)>”按钮,快捷键Alt+N
Send("!N")

;“许可证协议”窗口
WinWait($TITLE, $Comment2)
If Not WinActive($TITLE, $Comment2) Then WinActivate($TITLE, $Comment2)
WinWaitActive($TITLE, $Comment2)
;点击“我接受(&I)>”按钮,快捷键为Alt+I
Send("!I")

;选择组件
WinWait($TITLE, $Comment3)
If Not WinActive($TITLE, $Comment3) Then WinActivate($TITLE, $Comment3)
WinWaitActive($TITLE, $Comment3)
;选择“完整安装”
ControlClick($TITLE, $Comment3 ,"ComboBox1")
Send("{DOWN}")
Send("{Enter}")
;点击“下一步(&N)>”按钮,快捷键Alt+N
Send("!N")

;取消安装“超级兔子”
WinWait($TITLE, $Comment4)
If Not WinActive($TITLE, $Comment4) Then WinActivate($TITLE, $Comment4)
WinWaitActive($TITLE, $Comment4)
;取消选项1/1 "安装 超级兔子2010"
If ControlCommand($TITLE, $Comment4, "Button4", "IsChecked", "") Then
ControlCommand($TITLE, $Comment4, "Button4", "UnCheck", "")
EndIf
;点击“下一步(&N)>”按钮,快捷键Alt+N
Send("!N")

;选择“安装位置”
WinWait($TITLE, $Comment5)
If Not WinActive($TITLE, $Comment5) Then WinActivate($TITLE, $Comment5)
WinWaitActive($TITLE, $Comment5)
;修改安装路径为D盘
WinWaitActive($TITLE, $Comment5, "Edit1")
Send("{Home}{Delete}D")
;点击“下一步(&I)>”按钮,快捷键Alt+N
Send("!I")

;正在安装
WinWait($TITLE, $Comment6)
If Not WinActive($TITLE, $Comment6) Then WinActivate($TITLE, $Comment6)
WinWaitActive($TITLE, $Comment6)
;点击“显示详情”按钮,
ControlClick($TITLE, $Comment6, "Button4")
;灰化“取消”按钮
ControlDisable($TITLE, $Comment6, "Button3")

;Kmplayer Plus 文件关联
WinWait($TITLE2, $Comment7)
If Not WinActive($TITLE2, $Comment7) Then WinActivate($TITLE2, $Comment7)
WinWaitActive($TITLE2, $Comment7)
;关联“Kmplayer Plus” 到“所有视频格式”
ControlClick($TITLE2, $Comment7, "ComBoBox1")
Send("{DOWN}")
Send("{Enter}")
;点击“确定(&O)>”,快捷键为“Alt+O”,完成选择
Send("!O")

;安装完成
WinWait($TITLE, $Comment8)
If Not WinActive($TITLE, $Comment8) Then WinActivate($TITLE, $Comment8)
WinWaitActive($TITLE, $Comment8)
;取消“1/1”运行 Kmplayer Plus 设置程序
;ControlClick($TITLE, $Comment8, "Button4")
;点击“完成”按钮,快捷键为Alt+F
Send("!F")

;设置“解码方案”
WinWait($TITLE3, $Comment9)
If Not WinActive($TITLE3, $Comment9) Then WinActivate($TITLE3, $Comment9)
WinWaitActive($TITLE3, $Comment9)
;设置“解码模式”为“默认设置”
ControlClick($TITLE3, $Comment9, "TTntComboBox.UnicodeClass11")
Send("{DOWN}")
Send("{Enter}")
;点击“确定”。完成设置.无快捷键
ControlClick($TITLE3, $Comment9, "TTntButton.UnicodeClass4")

;安装完成.退出程序
Exit

此次增加了安装前“最小化所有窗口”,两个消息框以及显示托盘去气球,正在安装。
使用的是先定义常量字符串,然后编写的时候调用“常量字符串”。

下面给出源码下载地址,以及一个编译好的自动安装程序。

Autoit3源码:点击进入下载

已编译好的:点击进入下载

Kmplayer Plus 2010点击进入下载

注意:此自动安装需配合Kmplayer Plus 2010.

使用方法:将Kmplayer Plus 2010与已经编译好的自动安装程序,放在同一个目录。

Enjoy

By: Yusky

原创作品。欢迎翻版,翻版不究

未经允许不得转载:Yusky » Kmplayer Plus 2010 自动安装脚本,改用全新写法

分享到:更多 ()

评论 10

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #6

    谢谢。我文采比较烂的。

    Yusky7年前 (2010-09-10)回复
  2. #5

    新版的啊,可以试试

    jordan shoes7年前 (2010-08-30)回复
    • 测试软件。是一件很有趣的事情。嘿嘿

      Yusky7年前 (2010-09-01)回复
  3. #4

    呵呵 其实你的站还是很好看的
    内容加速更新啊 能做好的
    额 对了 我是海天 这段时间可能要用这个名字 具体原因到我博客看吧 还需要你们帮忙呢

    宿迁学院论坛7年前 (2010-08-15)回复
    • 嗯。哈哈。 没事。 新论坛哦。 支持你

      Yusky7年前 (2010-08-15)回复
  4. #3

    All people deserve very good life time and loan or just collateral loan will make it better. Just because people’s freedom depends on money.

    LaurieBerg7年前 (2010-08-13)回复
  5. #2

    呵呵 自己写的吗?很不错啊 加油~

    海天7年前 (2010-08-11)回复
    • 嗯。是自己写的。不过某些地方是山寨的。嘎嘎

      Yusky7年前 (2010-08-12)回复
  6. #1

    你的 guestbook 竟然没有留下 comment form,没法留言啊。

    嗯,彩色 tags cloud 真不错,应该是我写的那个,嘿嘿。

    冰古7年前 (2010-08-09)回复
    • 请教。 我的GUESTBOOK。明明开启了评论功能,但是却留言不了。不知道是咋回事啊。

      嘿嘿。那个彩色TAGS CLOUD当然不错啦。 也不看看是谁写的。 嘿嘿

      Yusky7年前 (2010-08-10)回复