Q
qqxk8199
Unregistered / Unconfirmed
GUEST, unregistred user!
各位朋友:<br> 最近在开发一个自动更新的程序,其主要原理是:当主程序启动后,其软件升级子模块自动从网上下载主程序(.exe)和与之相关的DLL等文件到本机的一个临时目录。然后在比较正运行的主程序和DLL等文件与临时目录中的文件是否需要替。如果需要,用临时目录中的文件替换原有文件。<br> 其中我已经实现了下载、比较等功能。但是如何替换正在运行中的主程序和DLL文件时却遇到了技术困难。为了解决这个难点我设计了一个方案即:利用Windows API 中的MoveFileWithProgressW来实现。但是,我发现在用Delphi开发的主程序中能实现更新,但是用PB开发的文件却出了“文件访问拒绝”或“有其它进程使用,不能移动”错误。<br> 特向各位朋友寻求技术支持:<br>1、MoveFileWithProgressW在Delphi中的详细用法<br>2、各位是否有更佳的方法来实现自动升级