本帖最后由 ahkang 于 2011-8-10 06:52 编辑
这个,加入了判断的(注意:代码中包含了本人收集和自定义的一个 UDFS 函数集,此函数集包括了判断是否 WinPE 系统、刷新程序关联图标等):
#RequireAdMin
Opt('WinTitleMatchMode', 2)
Opt('TrayIconDeBug', 1)
#InClude <Udfs.Au3>
TraySetIcon(@AutoItExe)
;--------------------------------------------------------------------------------------
If _IsWinPE()<>1 Then
$OcxDir=@SystemDir&'\Macromed\Flash'
Else
MsgBox(262144+48,'警告: 当前操作系统是 Win_PE!','当前操作系统是 Win_PE, 无法检测已安装的 Flash 控件版本信息!',5)
EndIf
;--------------------------------------------------------------------------------------
If DirGetSize($OcxDir)<>0 Then
$Find_Ocx=FileFindFirstFile($OcxDir&'\*.Ocx')
Else
_AutoSetup()
EndIf
;--------------------------------------------------------------------------------------
If $Find_Ocx<>0 Then $Flash_Ocx=@SystemDir&'\Macromed\Flash\'&FileFindNextFile($Find_Ocx)
; MsgBox(262144+64,'当前 Flash 控件是:',$Flash_Ocx)
$Flash_Ver=FileGetVersion($Flash_Ocx)
; MsgBox(262144+64,'当前 Flash 控件版本是: '&$Flash_Ver,'您已安装的 Flash 控件版本号是: '&$Flash_Ver&' ',8)
;--------------------------------------------------------------------------------------
$S=FileFindFirstFile('Install*Flash*Player*.eXe')
If $S<>0 Then $Set_Flash=FileFindNextFile($S)
; MsgBox(262144+64,'要安装的 Flash 控件程序是:'&$Set_Flash,'即将安装的 Flash 控件程序是: '&$Set_Flash)
$Set_Ver=FileGetVersion($Set_Flash)
;--------------------------------------------------------------------------------------
If $Set_Ver<1 Then
MsgBox(262144+48,'当前目录中找不到要安装的 Flash 播放器插件程序!','当前目录中找不到要安装的 Flash 播放器插件程序! 请下载更高版本安装...',8)
Exit
EndIf
;--------------------------------------------------------------------------------------
If $Flash_Ver<$Set_Ver Then
_AutoSetup()
ElseIf $Flash_Ver=$Set_Ver Then
If MsgBox(262144+52+256,'当前已安装的 Flash 控件版本'&$Flash_Ver&' = '&$Set_Ver&' 版本!','您已安装的 Flash 控件版本 '&$Flash_Ver&' = '&$Set_Ver&' 版本! 您确定继续安装吗?',10)<>6 Then Exit
_AutoSetup()
Else
MsgBox(262144+48,'当前已安装的 Flash 控件版本'&$Flash_Ver&' 比即将安装的 '&$Set_Ver&' 版本还要新!','您已安装的 Flash 控件版本 '&$Flash_Ver&' 比即将安装的 '&$Set_Ver&' 版本新! 请下载更高版本安装...',10)
Exit
EndIf
;--------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------
Func _AutoSetup()
Run($Set_Flash)
$WinInfo='[Class:AdobeFlashPlayerInstaller]'
$TextInfo='http://www.adobe.com/cn'
WinWait($WinInfo,$TextInfo)
ControlClick($WinInfo,$TextInfo,'Button4')
ControlClick($WinInfo,$TextInfo,'Button3')
WinWait($WinInfo,'')
WinActivate($WinInfo,'')
While 1
If WinActivate($WinInfo,'') Then
ControlClick($WinInfo,'','Button3')
Else
ExitLoop
EndIf
WEnd
;---------------------------- 刷新文件关联图标 ----------------------------
_ReFreshIconMsg()
;--------------------------------------------------------------------------
EndFunc |