Function GetUnIidxList( nIndex )
Dim tmp
assistant.EasyFunction INVOKE_IEA_BLOCK_GETUNIIDXLIST, nIndex, "", tmp
GetUnIidxList = tmp
End Function
Function OneBtnOk()
Dim tmp
Dim strMsg
strMsg = "插件管理专家将帮助您快速清理互联网上到处乱弹的插件程序,禁止这些插件弹出," & _
"还您一个清洁的上网空间。确认开始清理吗?"
If 6 = MyVbsMsgBox( strMsg, "一键清理", &H24 ) Then
assistant.EasyFunction INVOKE_IEA_ONEBTNOK, 0, "", tmp
If "TRUE" = tmp Then
strMsg = "清理完毕!(部分插件程序正在使用中,需重启电脑才能彻底删除)" & VbCrlf & _
"点击“确定”按钮返回。"
MyVbsMsgBox strMsg, "一键清理", vbInformation
Else
strMsg = "清理完毕!" & VbCrlf & _
"点击“确定”按钮返回。"
MyVbsMsgBox strMsg, "一键清理", vbInformation
End If
' PostMessage
Call window.setTimeout( "location.reload(true)", 50, "VBScript" )
End If
OneBtnOk = true
End Function
Function GetAllPathInfo( nIndex )
'On Error Resume Next
Dim strRet, tmp, strData
Dim i, nItemNum
Dim strType, strPath, strPathTmp, strIconSrc
If 0 = assistant.EasyFunction( INVOKE_IEA_BLOCK_INITSUB, nIndex, "", tmp ) Then
If Len(tmp) > 0 Then
nItemNum = CInt(tmp)
strRet = ""
For i = 0 to nItemNum
If 0 = assistant.EasyFunction( INVOKE_IEA_BLOCK_GETSUBINFO, i, "", tmp ) Then
If Len(tmp) > 0 Then
strData = replace( tmp, VbCrlf, "->|||<-" )
strType = Trim(GetSpecValue(strData,"TYPE"))
strPath = Trim(GetSpecValue(strData,"PATH"))
strPathTmp = strPath
If Len(strPathTmp) > 35 Then
strPathTmp = Left( strPathTmp, 35 ) & ".."
End If
If "FILE" = strType Then
strIconSrc = IMG_TYPE_FILE
ElseIf "REG" = strType Then
strIconSrc = IMG_TYPE_REG
End If
strRet = strRet & _
"
" & _
"" & strPathTmp & ""
End If
End If
Next
End If
End If
GetAllPathInfo = strRet
If err Then err.clear
End Function
' &H40+&H20 = MB_ICONINFORMATION|MB_ICONQUESTION
' &H04 = MB_YESNO
' &H00 = MB_OK
' &H01 = MB_OKCANCEL
' &H30 = MB_ICONWARNING
Function MyVbsMsgBox( strText, strCaption, nType )
On Error Resume Next
Dim nRet
Call assistant.EasyFunction( INVOKE_IEA_MESSAGEBOX, nType, strText & "||" & strCaption, tmp )
If Len(tmp) > 0 Then
nRet = CInt(tmp)
End If
MyVbsMsgBox = nRet
If err Then err.clear
End Function
Function FixSpecOne( nIndex )
On Error Resume Next
Dim bRet
bRet = false
If 0 = assistant.EasyFunction( INVOKE_IEA_BLOCK_FIX, nIndex, "", tmp ) Then
If "TRUE" = tmp Then
bRet = true
End If
End If
FixSpecOne = bRet
If err Then err.clear
End Function
Function GetSpecValue( strString, strItemName )
On Error Resume Next
Dim strSchName
dim ArrTemp
dim i
dim strRetVal
strSchName = strItemName & "="
strRetVal = ""
ArrTemp = split( strString, "->|||<-" )
for i = 0 to UBound(ArrTemp)
nPos = InStr( ArrTemp(i), strSchName )
if nPos > 0 then
strRetVal = mid( ArrTemp(i), nPos + Len(strSchName) )
exit for
end if
Next
GetSpecValue = strRetVal
If err Then
err.clear
End If
End Function
Function EacapeStr( str )
dim retVal
retVal = str
if len(retVal) > 0 then
'retVal = replace( retVal, """", "\""" )
retVal = replace( retVal, "\", "\\" )
retVal = replace( retVal, "'", "\'" )
retVal = replace( retVal, "&", "&" )
End if
EacapeStr = retVal
End Function
Function GetFileVersion( strFile )
On Error Resume Next
Dim tmp
AutoLive.Action "Assist", 1, strFile, "", tmp
GetFileVersion = tmp
If err Then err.clear
End Function
Function CheckIsUpdate( strDll, strVer )
On Error Resume Next
Dim bRet, tmp
bRet = false
AutoLive.Action "#HKLMAssist", 1002, "#s" & strDll, "", tmp
If tmp < strVer Then
bRet = true
End If
CheckIsUpdate = bRet
If err Then err.clear
End Function
Function GetInsModulesList( vvdllRet, vvverRet )
On Error Resume Next
Dim bRet
Dim tidll, tiver
bRet = false
Dim i
Dim ArrDll(10), ArrVer(10)
ArrDll(0) = FN_YASBAR_DLL
ArrVer(0) = VV_YASBAR_DLL
ArrDll(1) = FN_YASCENTER_EXE
ArrVer(1) = VV_YASCENTER_EXE
ArrDll(2) = FN_YASIESEC_DLL
ArrVer(2) = VV_YASIESEC_DLL
ArrDll(3) = FN_YASSISTEX_DLL
ArrVer(3) = VV_YASSISTEX_DLL
ArrDll(4) = FN_YASWIPER_DLL
ArrVer(4) = VV_YASWIPER_DLL
ArrDll(5) = FN_YIEACORE_DLL
ArrVer(5) = VV_YIEACORE_DLL
ArrDll(6) = FN_YIEARES_DLL
ArrVer(6) = VV_YIEARES_DLL
ArrDll(7) = FN_YIEAUI_DLL
ArrVer(7) = VV_YIEAUI_DLL
ArrDll(8) = FN_YUNINST_DLL
ArrVer(8) = VV_YUNINST_DLL
ArrDll(9) = FN_YAL01_DAT
ArrVer(9) = VV_YAL01_DAT
For i = 0 to UBound(ArrDll)
tidll = ArrDll(i) :: tiver = ArrVer(i)
If Len(tidll) > 0 And Len(tiver) > 0 Then
If CheckIsUpdate( tidll, tiver ) Then
vvdllRet = vvdllRet & "," & tidll :: vvverRet = vvverRet & "," & tiver
End If
End If
Next
vvdllRet = Trim( vvdllRet )
vvverRet = Trim( vvverRet )
If Len(vvdllRet) > 0 and Len(vvverRet) > 0 Then
If "," = Left( vvdllRet, 1 ) Then
vvdllRet = Right( vvdllRet, Len(vvdllRet)-1 )
End If
If "," = Left( vvverRet, 1 ) Then
vvverRet = Right( vvverRet, Len(vvverRet)-1 )
End If
End If
bRet = true
GetInsModules = bRet
End Function
'----------------------------------------
' 安装新IE修复专家
'----------------------------------------
Function InstallIea()
On Error Resume Next
Dim RETA, bRet
Dim strFile, vvdll, vvver, tidll, tiver, strUrl
Dim tmp
bRet = false
RETA = 1000
Call Install( 1 )
Call InsAutolive()
If IsObject( AutoLive ) Then
vvdll = "" :: vvver = ""
Call GetInsModulesList( vvdll, vvver )
' update now ...
If Len(vvdll) > 0 and Len(vvver) > 0 and _
( UBound(split(vvdll,",")) = UBound(split(vvver,",")) ) Then
RETA = AutoLive.Action( "assist", 2, vvdll, g_IniInstall, vvver )
Else
RETA = 0
End If
If 0 = RETA Then
bRet = true ' 成功
ElseIf 1 = RETA Then
' 需要重启计算机
location.href = "safe_ok.htm?func=雅虎助手功能需要重启计算机才能生效,请您立即重新启动计算机&fb=" & getFileNameFromUrl(location.href)
ElseIf 2 = RETA Then
'您的电脑失去了和互联网的连接,安装过程被迫中止。
location.href = "install_fail02.htm?fb=" & getFileNameFromUrl(location.href)
Else
'很遗憾,你终止了升级过程。
location.href = "install_fail03.htm?fb=" & getFileNameFromUrl(location.href)
End If
dim temp
assistant.EasyFunction &H10000, 0, "", temp
Else
'对不起,升级程序不能正常运行,请重新安装本软件再次尝试!
strUrl = PAGE_ASSIST_INSTALL & "?oldPage=" & getFileNameFromUrl( location.href )
location.href = strUrl
End If
' 返回
InstallIea = bRet
If err Then
err.clear
End If
End Function
Function BlockFixSpecOne( nIndex )
On Error Resume Next
Dim bRet
bRet = false
If 0 = assistant.EasyFunction( INVOKE_IEA_BLOCK_FIX, nIndex, "", tmp ) Then
If "TRUE" = tmp Then
bRet = true
End If
End If
BlockFixSpecOne = bRet
If err Then err.clear
End Function
Function BlockUnInstall( nIndex )
On Error Resume Next
Dim tmp
tmp = "CANCEL"
If 0 = assistant.EasyFunction( INVOKE_IEA_BLOCK_UNINSTALL, nIndex, "", tmp ) Then
End If
BlockUnInstall = tmp
If err Then err.clear
End Function
Function ImmUnInstall( nIndex )
On Error Resume Next
Dim tmp
tmp = "CANCEL"
If 0 = assistant.EasyFunction( INVOKE_IEA_IMM_UNINSTALL, nIndex, "", tmp ) Then
End If
ImmUnInstall = tmp
If err Then err.clear
End Function