0

Windows アプリケーションからプロセスを実行しようとしています。プロセスはコンソール exe ファイルです。私は次のコードを使用しています:

void compilerWindow::runClicked()
{
    proc = new QProcess(this);
    QString name = "C:\\qtEcoolCompiler\\qt\\vm.exe";

    QStringList args = QStringList() << "codeGeneration.vm";

    connect(proc, SIGNAL(readyRead()),
                  SLOT(readFromProc()));
    connect(proc, SIGNAL(error(QProcess::ProcessError)),
                  SLOT(procError(QProcess::ProcessError)));
    connect(proc, SIGNAL(finished(int)),
                  SLOT(procFinished()));

    outputBrowser->clear();
    outputBrowser->append("Begining Of Execution");

    proc->start(name, args);
    proc->waitForFinished();
}

しかし問題は、コンソールが表示されない (開かない) ことと、procFinished() が呼び出され、それまでコンソールが開かないことです。

私は何をすべきか?

4

2 に答える 2

0

system() 関数を試してください。Windows cmdから実行するかのようにコマンドを実行します

于 2011-05-28T16:31:49.413 に答える