Запустите внешнее управление в фоновом режиме и перехват потока - PullRequest
0 голосов
/ 15 марта 2020

Как из приложения Qt / C ++ запустить внешний исполняемый файл (с GUI, без интерфейса командной строки) в фоновом режиме и перехватить его ofstream?

Внешний исполняемый файл принимает файл определенного типа, и преобразует и выводит его в другой файл. Я хочу предотвратить запись нового файла и вместо этого прочитать содержимое непосредственно в мое приложение.

Я попробовал следующее:

    bool success = true;
    auto *converter = new QProcess(this);
    converter->start("converter.exe", QStringList()<<path);

    if (converter->waitForStarted() && converter->waitForReadyRead()) {
        for (; !converter->atEnd() && success; lineNr++) {
            success = line(converter->readLine());
        }
    }
    else {
        error = "Failed to start converter.";
        success = false;
    }
    converter->waitForFinished();

Но исполняемый файл просто запускается нормально и выводит новый файл.

...