mark
作者: Syber 日期: 2008-01-11 21:47
没必要像windows更新那样做,反正你的更新也是要重启机器后才能完成,所以你可以在后台先下载完所有的更新文件,然后针对每个文件执行下面的函数就可以了:
::MoveFileEx(cacheFile, dstpath, MOVEFILE_DELAY_UNTIL_REBOOT ¦MOVEFILE_REPLACE_EXISTING);
请注意第三个参数的标志,MOVEFILE_DELAY_UNTIL_REBOOT表示如果目标文件正在被使用,则通知OS做一个标记,下次重启时自动完成文件移动任务。这个函数会立即返回,不会被阻塞。
实际上这个API会在注册表留下记号,系统下次重启后自动根据记号完成所有的文件替换。
::MoveFileEx(cacheFile, dstpath, MOVEFILE_DELAY_UNTIL_REBOOT ¦MOVEFILE_REPLACE_EXISTING);
请注意第三个参数的标志,MOVEFILE_DELAY_UNTIL_REBOOT表示如果目标文件正在被使用,则通知OS做一个标记,下次重启时自动完成文件移动任务。这个函数会立即返回,不会被阻塞。
实际上这个API会在注册表留下记号,系统下次重启后自动根据记号完成所有的文件替换。
加入网摘
订阅
上一篇
返回
下一篇
标签:
