找回密码
 加入
搜索
查看: 7299|回复: 5

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

  [复制链接]
发表于 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[1]
;;$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[1]
        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
发表于 2016-10-4 13:09:48 | 显示全部楼层
InetGet是用来下载网站上的文件(http),不是用来下载共享的
UNC(共享)直接用FileCopy
你要想好整体思路,例如更新的方式是共享方式、FTP或http等等?版本信息获取的方式?下载新版本怎么解决意外情况?等等方面都要考虑好,仅凭别人的代码没用,要有自己的思考。
发表于 2016-10-4 13:10:07 | 显示全部楼层
回复 1# ipmitool

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

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

還是  會應用 會使用  但是 本來好好的  現在出問題了??
发表于 2016-10-4 14:59:06 | 显示全部楼层
不想修改文件的“修改时间”用共享,然后用filecopy
 楼主| 发表于 2016-10-4 19:12:09 | 显示全部楼层
回复 3# kk_lee69


    不好意思, 我搞錯txt檔, 所以無法執行, 現在ok了, 感謝!
发表于 2016-10-5 08:49:55 | 显示全部楼层
看一下,学习一下。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 01:35 , Processed in 0.075187 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表