现在正在做一个功能,如下:运行着的进程取名为Old.exe ,需要从指定URL下载更新包,是一个exe文件,取名 New.exe。
然后自动退出目前的程序Old.exe, 删除Old.exe ,之后将新下载的 New.exe 改名为 Old.exe 。最后启动New.exe(即改名后的Old.exe)。请问怎么实现???自己本来的做法是在原进程中新建了一个批处理,写入 改名操作,删除操作,然后通过ShellExecute()运行这个批处理。可是每次运行后,确实新建了批处理,但是没有执行,也根本没改名。换成CreateProcess()执行这个批处理也不行。
但是退出后,双击运行批处理是可以改名的。所以想问一下,一般情况下的程序自动更新重启是怎么实现的呢?
然后自动退出目前的程序Old.exe, 删除Old.exe ,之后将新下载的 New.exe 改名为 Old.exe 。最后启动New.exe(即改名后的Old.exe)。请问怎么实现???自己本来的做法是在原进程中新建了一个批处理,写入 改名操作,删除操作,然后通过ShellExecute()运行这个批处理。可是每次运行后,确实新建了批处理,但是没有执行,也根本没改名。换成CreateProcess()执行这个批处理也不行。
但是退出后,双击运行批处理是可以改名的。所以想问一下,一般情况下的程序自动更新重启是怎么实现的呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货