风一样的男孩 发表于 2009-4-21 08:26:21

调用讯闪3.1的更新核心程序


'此脚本目的是:调用讯闪3.1的更新核心程序,每次开机后运行此脚本都会更新一次,而且只更新一次,不重

启不会重复更新
'另外,你可以自定义版本号,这时,和使用菜单的效果是一样的,不管你重启多少次,版本号不变的时候是不

会更新的

On Error Resume Next
dim FSO,WshNetwork,WSH,LoginProfiles,ComputerName,UserName,Ver
Set LoginProfiles = GetObject("winmgmts:").InstancesOf ("Win32_NetworkLoginProfile")
Set WSH=wscript.createobject("wscript.shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshNetwork = WScript.Createobject("WScript.Network")
ComputerName = WshNetwork.ComputerName
UserName = WshNetwork.UserName
for each Profile in LoginProfiles
    if Profile.Name=ComputerName&"\"&UserName then
      Ver=Left(Profile.LastLogon,14)
    end if
next

'讯闪3.1的各项参数设置
LoadPath = "F:\常用软件备份\讯闪服务端\data\load.exe" '讯闪3.1更新核心程序路径
Arg01 = "\\gameupserver\game$\qq"    '远程目录
Arg02 = "D:\windows\qq"    '本地目录
Arg03 = "[腾讯QQ]正在更新,请稍等..."   '窗口标题
Arg04 = "D:\windows\qq\qq.exe"   '更新完成后运行的程序
Arg05 = ""      '更新完成后执行程序的运行参数
Arg06 = "D:\windows\qq\qq.reg"   '注册表的路径
Arg07 = Ver   '版本号(这里使用开机时间做版本号,自定义时需用引号括起版本号,例:Arg14 =

"123")
Arg08 = "1"       '更新模式,1---马上更新 其它---手动选择
Arg09 = "0"       '未知参数,必加
Arg10 = "0"       '未知参数,必加

'生成讯闪3.1的更新参数
Dim Arg
Arg = " "&Chr(34) & "/fdir:" & Arg01 & Chr(34)_
       &" "&Chr(34) & "/tdir:" & Arg02 & Chr(34)_
       &" "&Chr(34) & "/name:" & Arg03 & Chr(34)_
       &" "&Chr(34) & "/Run:" & Arg04 & Chr(34)_
       &" "&Chr(34) & "/cmd:" & Arg05 & Chr(34)_
       &" "&Chr(34) & "/reg:" & Arg06 & Chr(34)_
       &" "&Chr(34) & "/ver:" & Arg07 & Chr(34)_
       &" "&Chr(34) & "/now:" & Arg08 & Chr(34)_
       &" "&Chr(34) & "/f_f:" & Arg09 & Chr(34)_
       &" "&Chr(34) & "/f_d:" & Arg10 & Chr(34)

Dim VerFile,VerPrefix,VerNumber,LocalFolder
VerFile = FSO.GetAbsolutePathName(Arg02) & "\$ver.txt" '存有版本的文件名
VerPrefix = "2=" '保存版本的字段
VerNumber = Arg07 '版本号
LocalFolder = FSO.GetAbsolutePathName(Arg02) '本地目录的明确完整的路径
RunProfile = Arg04 '游戏主程序

If Not FSO.FileExists(VerFile) Then '如果版本文件不存在
    SubShowFolder LocalFolder '检查本地目录是否存在
    WSH.Run LoadPath & Arg '更新
Else
    If SubReadVer Then '版本文件存在时,判断版本号
      WSH.Run RunProfile '版本号相同,运行游戏程序
    Else
      SubShowFolder LocalFolder '检查本地目录是否存在
      WSH.Run LoadPath & Arg '版本号不相同,更新
    End If
End If

'如果指定目录不存在则创建(同时检查父目录是否存在)
Function SubShowFolder(FolderPath)
    If Not FSO.FolderExists(FolderPath) Then
      SubShowFolder FSO.GetParentFolderName(FolderPath)
      Set FD = FSO.CreateFolder(FolderPath)
    End If
End Function

'从版本文件里读出版本,并与指定的版本对比,相同则返回True,否则返回False
Function SubReadVer()
    Set F = FSO.OpenTextFile(VerFile)
    While F.AtEndOfLine <> True
      V = F.ReadLine
      Vn = InStr(V,VerPrefix)
      If Vn > 0 Then
      If CStr(VerNumber) = CStr(Right(V,Len(V)-Len(VerPrefix))) Then
          SubReadVer = True
          Exit Function
      End If
      End If
      SubReadVer = False
    Wend
End Function
页: [1]
查看完整版本: 调用讯闪3.1的更新核心程序