2014-06-16 315 views
2

您好我正在從Qt使用QProcess發射分離的進程。我想在QString中讀取進程的控制檯輸出。下面是代碼閱讀控制檯輸出的分離進程

#include <QCoreApplication> 
#include <QProcess> 
#include <QDebug> 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 
    QProcess proc; 
    proc.startDetached("C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", 
         QStringList() << "/c" << "c:\\Qt\\Qt5.3.0\\Tools\\QtCreator\\bin\\tryScript\\firstBatch.bat"); 


    proc.waitForFinished(); 
    qDebug() << proc.readAllStandardOutput(); 

    return a.exec(); 
} 

回答

2

QProcess::startDetached是不是一個成員函數,它是一個靜態函數,所以

proc.startDetached(...) 

等同於:

QProcess::startDetached(...) 

因此有一個在任何國家或輸出你的proc分離過程的變量。如果您想要將流程作爲應用程序的子流程啓動並讀取其輸出,請使用start()方法。