ipmitool 发表于 2016-10-4 11:14:36

[已解决]請問如何寫一個自動更新程序

本帖最后由 ipmitool 于 2016-10-4 19:12 编辑

放上之前有人po的代碼, 可是無法獲取新版本#include<Inet.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>

Opt("TrayMenuMode", 1)
dim $oldver,$newver,$sFile1,$aArray1 ,$aArray,$sFile,$Input_Down
$sFile1 = @ScriptDir & "\ver.txt" ;<--你要读的文件
$aArray1 = StringSplit(FileRead($sFile1), @CRLF, 1)
$oldver=$aArray1
;;$oldver= FileGetVersion("我的程序.exe")
Reate_update($oldver)
Func Reate_update($oldver)
                if InetGetSize("\\10.32.15.40\temp\Mike\ver.txt")>0 then   ;<--判断是否连网或是否服务器能连上
      $oldver111=InetGet("\\10.32.15.40\temp\Mike\ver.txt", @ScriptDir & "\ver.txt", 1, 1)   ;<--下载版本信息
      TraySetState(4)
      While InetGetInfo($oldver111)
                TrayTip("正在检查新版本", "目前版本为"&$oldver&",正在检查新版本", 1)
      WEnd

      TraySetState(8)

$sFile = @ScriptDir& "\ver.txt" ;<--你要读的文件
$aArray = StringSplit(FileRead($sFile), @CRLF, 1)
$newver=$aArray
      TrayTip("最新版本为"&$newver,"最新版本为"&$newver, 1)
      if $newver<>$oldver then
      If Not IsDeclared("iMsgBoxAnswer2") Then Local $iMsgBoxAnswer2
$iMsgBoxAnswer2 = MsgBox(1,"提示有最新版本存在","当前版本为"&$oldver&" ,最新版本为"&$newver & @CRLF & "是否自动更新,按确定按钮更新" & @CRLF & "取消按钮不更新")
Select
      Case $iMsgBoxAnswer2 = 1 ;OK
Reate_down()
      Case $iMsgBoxAnswer2 = 2 ;Cancel
exit
EndSelect


Else
      TrayTip("当前版本为最新版本","当前版本为最新版本,暂时不需要更新", 1)
exit

endif
Else
TrayTip("获取版本失败","获取版本失败", 1)
exit
endif
EndFunc


         Func Reate_down()
                if InetGetSize("\\10.32.15.40\temp\Mike\main.exe")>0 then
      InetGet("\\10.32.15.40\temp\Mike\main.exe", @ScriptDir & "\我的程序.exe", 1, 1)
      TraySetState(4)
      While InetGetInfo()
                TrayTip("正在下载最新版本", "正在下载最新版本", 1)
      WEnd

      TraySetState(8)
      TrayTip("获取新版本成功","获取新版本成功", 1)

                exit
Else
TrayTip("获取新版本失败","获取新版本失败,启动老版本", 1)

      exit
endif
EndFunc

alwaystick 发表于 2016-10-4 13:09:48

InetGet是用来下载网站上的文件(http),不是用来下载共享的
UNC(共享)直接用FileCopy
你要想好整体思路,例如更新的方式是共享方式、FTP或http等等?版本信息获取的方式?下载新版本怎么解决意外情况?等等方面都要考虑好,仅凭别人的代码没用,要有自己的思考。

kk_lee69 发表于 2016-10-4 13:10:07

回复 1# ipmitool

你想表達的意思是 甚麼??

是不知道 這段程式 怎麼使用 與應用呢??

還是會應用 會使用但是 本來好好的現在出問題了??

ila 发表于 2016-10-4 14:59:06

不想修改文件的“修改时间”用共享,然后用filecopy

ipmitool 发表于 2016-10-4 19:12:09

回复 3# kk_lee69


    不好意思, 我搞錯txt檔, 所以無法執行, 現在ok了, 感謝!

zhaoyun 发表于 2016-10-5 08:49:55

看一下,学习一下。
页: [1]
查看完整版本: [已解决]請問如何寫一個自動更新程序