关于ShellExecute的控制权
我要做一个自动更新的功能,c++/MFC程序。
大概是点击一个按钮,程序自动到预先设定好的服务器上下载,然后运行该安装程序。见下面代码
// 下载文件
....
// 更新
CString filename = _T("c:\\temp\\Setup.exe"); // 下载的文件放在这里。
ShellExecute(NULL, "open", filename, NULL, NULL, SW_SHOWNORMAL);
// OnOK(); 退出本程序
但是,我发现,程序在等ShellExecute的执行完毕。这样,在本程序退出前,安装程序已经结束了,从而没能覆盖掉现在的这个exe文件(新的exe肯定和现在的exe同名)。
更新没能成功。
请问,怎么样可以让打开setup后,本程序依然执行,这样就可以很快退出本程序,而安装程序才可以用新的exe覆盖掉原来的exe 文件?