Я хочу, чтобы QProcess запускал несколько команд одновременно, а не по одной.
void Route::add_route()
{
QProcess *Add_route = new QProcess(this);
Add_route->start("notepad",QStringList() << "interface" << "ipv4" << "set" << "interface" << "" << "metric=1");
Add_route->start("explorer",QStringList() << "interface" << "ipv6" << "set" << "interface" << "" << "metric=1");
Add_route->waitForFinished();
}
Используя это, он запустит только первый.
Ps: я использую блокнот и проводник только для теста
Спасибо!





QProcess имеет функцию-член startDetached(). Используйте один QProcess для каждого процесса, который вам нужно запустить, а не один QProcess для всех процессов. См. http://doc.qt.io/qt-5/qprocess.html#startDetached
QProcess, как следует из названия, представляет собой один процесс, а не несколько.
Таким образом, ваше требование запуска двух процессов с использованием одного объекта QProcess ошибочно по замыслу.
У вас есть два варианта:
QProcess, по одному для каждой «команды» процессаСпасибо, пользуюсь вторым
Как насчет того, чтобы при каждом запуске добавлять одно ожидание завершения? Я заменю блокнот и проводник на netsh, поэтому его запуск не займет много времени.