Qt: QProcess (18.06.2025). |
![]() |
2025 - Июнь | |
18.06.2025 11:50 | |
Аналогия ShellExecute в Windows: функция запуска приложений из среды разработки. Была написана функция с ней, удобная в запуске процесса и получения от него результатов работы. Упоминалась в 2021 году - прошла Astra CE v.2.12.43, SE v.1.4, SE v.1.7.4.0(7) - немного изменилась, но доказала свою работоспособность. #Скоро будет видоизменена для корректной работы с множественными параметрами: как слева (переменные среды), так и справа (параметры) от запускаемого процесса, - и прочими прелестями. Но сейчас - нужно разместить её в полезные исходники, а также отобразить исходный код в теле материала.
QStringList qslProcess_Run(const QString qsProcess, const bool bBig_Delay) { QProcess *qProcess = new QProcess; QByteArray qbaResult; qProcess->start(qsProcess); //"|" и ";" не поддерживаются. if (!bBig_Delay) qProcess->waitForFinished(5000); else qProcess->waitForFinished(2000000); if (qProcess->exitCode() != 0) iMessageBox("Ошибка!", "Запрос \"" + qsProcess + "\" не отработал корректно. Код ошибки - " + QString::number(qProcess->exitCode()) + ".", 3); qbaResult = qProcess->readAllStandardOutput(); qProcess->terminate(); delete qProcess; qProcess = NULL; QString qsResult = qbaResult; return qsResult.split("\n"); } |
|
Обновлено ( 18.06.2025 21:48 ) |