Как запустить внешнюю программу полностью независимо от основного приложения?
Классический вариант запуска:
system("cmd.exe");
Аналогично с WinExec и QProcess
НО! Если закрыть основную программу, запущенная внешняя программа тоже закрывается.
Отсюда, собственно, вопрос - как запустить программу независимой от основного приложения?
Ответы (1 шт):
Автор решения: Bearded Beaver
→ Ссылка
Я проверял в 5.15.2 и если запустить оконное приложение через startDetached, оно не закрывается после закрытия запускающего приложения. С командной строкой не получилось, потому что судя по всему начиная с 5.8 консольное окно в таком случае скрывается.
Получилось добиться нужного вам поведения с помощью вот таких костылей:
QProcess process;
process.setProgram("cmd.exe");
process.setArguments(QStringList() << "/C" << "start" << "cmd.exe");
process.startDetached();
Списывал отсюда отсюда