如何实现自动更新后,用新下载的文件替代原来的文件 现在许多软件的在线更新都可以更新本身的程序,哪位能说说怎么实现?提供思路也可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if not MoveFile(lpExistingFileName, lpNewFileName) then begin//如果源文件正在使用,就让它重新启动系统后生效 MoveFileEx(lpExistingFileName, lpNewFileName,MOVEFILE_DELAY_UNTIL_REBOOT); end; 用com+,分布式,添加模块即可 你用两个文件阿,执行update.exe,作更新a.exe,然后执行a.exe,退出update.exe 我做过类似的,一个是 update.exe,另一个是 rename.exe。update.exe负责从 ftp server下载文件,并且都命名为 *.~exe 等带~的类型,完成后,shellexecute rename.exe并退出update.exe,rename.exe 负责把每一个 *.~* 文件rename,并覆盖。 http://www.fulgan.com/delphi/autoupdate_unit_for_delphi.htm To: fei19790920(饭桶的马甲(抵制日货)) 你贴的函数,要在什么地方使用呢?为什么我用后没有效果? 我也想过这问题如果有两个文件,可以很容易的实现启动Update.exe,退出自己,然后Update负责下载和覆盖旧文件而一个文件,通过发消息或者带参的方式,假设为1.exe,1.exe下载更新后的版面,假设为2.exe运行新文件,2.exe /update1自己退出2.exe检查参数,在一定的延时后,检查1.exe是否在运行,如果没有把自己拷贝到1.exe,运行 1.exe /update2自己退出1.exe检查参数,在一定的延时后,检查2.exe是否在运行,如果没有则删除它更新结束:) 如果是Win2000及以上版本系统,可以让程序在下载完新版本之后把旧版本(正在执行的文件)的文件名更改为临时文件(并不影响旧程序的运行的),然后把新版本文件名改为旧版本文件名,最后退出旧版本程序,并启动新版本程序在98系统可以用楼上的方法 问个简单问题,两个数据表合并后排序不正常 Delphi 7乘法问题。会的能否详解。 推荐一下delphi的网站 请问在SQL中查询一个表在哪些过程中使用过是哪个命令?TKS! 关于读取USB口的技术 动态调用DLL的问题 怎么可以得到本机的IP和计算机名?等待ing... 如何将多个文件合并为一个文件,需要的时候又可以拆分开! 如何组装业务模块 报表部题(自定义纸张大小) 打印中遇到一个问题,哪位大侠遇到过类似这种情况?! 请问aiirii(ari-爱的眼睛),在使用你的这段代码时是否可以将dos窗口隐藏运行我的程序呢?
begin//如果源文件正在使用,就让它重新启动系统后生效
MoveFileEx(lpExistingFileName, lpNewFileName,MOVEFILE_DELAY_UNTIL_REBOOT);
end;