2012-03-01 16 views
0

VBScriptの出力を読み取るためにQProcessを取得できません。このスクリプトは、QProcessから呼び出されたときに単独で実行され、QCreatorのアプリケーション出力に出力されるため、VBSが実行されていることがわかります。私が試したQProcess経由でVBSを実行しないreadyStandardOutPutを出力しない

WScript.StdOut.WriteLine("Hi") 

のQt側:へQProcessの完成、readyReadStandardOutputを接続

  • 、 readyReadStandardError信号が
  • 私も試してみましたsetProcessChannelMode私はダウン私のVBSをカットしましたトラブルシューティングするにはQProcess :: MergedChannels

MainWindowコンストラクタで:

connect(Process,SIGNAL(readyReadStandardOutput()),this,SLOT(processDone())); 

スロット:

void MainWindow::processDone() 
{ 
qDebug()<<"Out"; 
/*QString str; 
str.append(Process->readAllStandardOutput()); 
qDebug()<<str;*/ 
} 


void MainWindow::runProcess() 
{ 
    QString script = "cscript"; 
    QStringList args; 
    args<<QString(QDir::currentPath()+ "/myVBs.vbs")<<"//NoLogo"; 
    Process->execute(script,args); 
} 

答えて

1

QProcess::executeは、静的メソッドであるのでProcess->execute(script, args)Processが全く使用されない、すなわちインスタンス、QProcess::execute(script, args)と等価です。使用

Process->start(script, args); 
+0

ビンゴ。おかげでフランク! – RegularlyScheduledProgramming

関連する問題