关于产品在系统关机时执行更新

fangqing0827 2008-01-11 05:12:52
windows xp/vista环境下,执行windows update以后,系统会自动下载更新包,在用户关机时会出现一个画面,显示当前正在安装所有的更新包中的第几个更新。
目前公司产品也想加上自动更新功能,因为模块众多,所以想在后台下载需要更新的内容,在用户关机是执行这些更新,不知道是否有相关API实现类似功能?望各位给些参考意见
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujianhei 2008-01-14
  • 打赏
  • 举报
回复
HOOK 系统API ExitWindows
jameshooo 2008-01-14
  • 打赏
  • 举报
回复
只要旧的文件没有被使用,可以继续执行CopyFile
fangqing0827 2008-01-14
  • 打赏
  • 举报
回复
to jameshooo,
是否能在
::MoveFileEx(cacheFile, dstpath, MOVEFILE_DELAY_UNTIL_REBOOT ¦MOVEFILE_REPLACE_EXISTING);
之后执行copyfile?把下载好的文件替换掉,这个时候旧的文件还没真正删除,能替换成功吗?
captain_x 2008-01-11
  • 打赏
  • 举报
回复
mark
ls的方法不错
jameshooo 2008-01-11
  • 打赏
  • 举报
回复
没必要像windows更新那样做,反正你的更新也是要重启机器后才能完成,所以你可以在后台先下载完所有的更新文件,然后针对每个文件执行下面的函数就可以了:
::MoveFileEx(cacheFile, dstpath, MOVEFILE_DELAY_UNTIL_REBOOT|MOVEFILE_REPLACE_EXISTING);
请注意第三个参数的标志,MOVEFILE_DELAY_UNTIL_REBOOT表示如果目标文件正在被使用,则通知OS做一个标记,下次重启时自动完成文件移动任务。这个函数会立即返回,不会被阻塞。
实际上这个API会在注册表留下记号,系统下次重启后自动根据记号完成所有的文件替换。
mr.zhoux 2008-01-11
  • 打赏
  • 举报
回复
...一个比一个bt,留记号关注帖:)
Torch009 2008-01-11
  • 打赏
  • 举报
回复
实现关机的时候能执行这些更新
========================
我滴神呀
fangqing0827 2008-01-11
  • 打赏
  • 举报
回复
程序的更新在后台下载是我们自己做的,我只想实现关机的时候能执行这些更新(类似于那些更新包一样的安装)
he_sl 2008-01-11
  • 打赏
  • 举报
回复
没那么简单,得自己做吧
不知道是否有现成的东西可用

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧