Я хочу онлайн обновить приложение C++ MFC. Я могу загрузить файл обновления с http, но проблема в том, что мне нужно перезаписать файл, который в настоящее время используется. Итак, можно ли запустить внешнее приложение из программы MFC (например, SFX-архив) после выхода программы?MFC - запускать внешнее приложение после выхода
ответ
Посмотрите на функции atexit()
В функции вы обеспечиваете вы можете запустить процесс, который загружает файл.
E.g.
void launchDownload(void)
{
ShellExecute(...);
}
...
atexit(launchDownload);
Смотрите также ShellExecute
void CUpmApp :: rtx() { } .... atexit (rtx); Вызывает ошибку: ошибка C3867: 'CUpmApp :: rtx': нестандартный синтаксис; используйте '&' для создания указателя на член –
Ваша функция должна быть статичной, если вы хотите включить ее так, чтобы компоновщик нашел ее. например 'static void CUpmApp :: rtx() {] .. atexit (CUpmApp :: rtx);' –
Большая коллекция реализаций для того, что вы в основном пытаются сделать следующее: [Самостоятельно удаление Исполняемые] (http://www.catch22.net/tuts/self-deleting- исполняемые файлы). – IInspectable