2

私のGUIプロジェクトでは、最初の更新を呼び出したアプリケーションを更新する別のアプリケーションを開始する必要があります..それが理にかなっている場合.

セカンダリ プログラムがメイン プログラムを更新できる唯一の方法は、メイン プログラムが閉じられている場合です。

これは私がしたことです:

QDesktopServices::openUrl(QUrl("file:update.exe"));
qApp->quit();

更新プログラムでは、念のため、更新が始まる前に 2 秒のスリープ タイマーも追加しました。問題は、メイン プログラムが閉じないことです。

qApp->quit() を qApp->exit、QApplication::quit()、QCoreApplication::exit() などに置き換えましたが、何もメインプログラムを閉じていません。

助言がありますか?

4

2 に答える 2

2

これを試してください:

#include <QApplication>
#include <QProcess>

qApp->quit();
QProcess::startDetached("update.exe");
于 2013-10-31T08:12:36.483 に答える