QTを使用すると、QProcessインスタンスを使用して別のプロセスを実行することができます。
具体的に外部アプリケーションは、入力パラメータ(例えばロードするファイルパスと結果を格納するファイルパスを受け入れることとします。
QProcess shell;
QStringList argv;
//[setup argument-list]
shell.setProcessChannelMode(QProcess::MergedChannels);
shell.start(commandPath, argv);
shell.waitForFinished();
QProcessはIOストリームとしての使用できることに注意してください。これはに便利ですプロセス(例えば進捗情報を取得するために)との対話:もちろん
shell.start(commandPath, argv);
shell.waitForReadyRead();
while(shell.state() == QProcess::Running || !shell.atEnd()){
auto s = shell.readLine()
//[do something with the current line of the process output]
}
QProcess::ExitStatus es = shell.exitStatus() ;
外部プロセスは、入力パラメータを受け入れ、あなたの問題を解決するために、その標準出力を通じてフィードバックを提供しなければならない
0。
IMHO C++はこのジョブに適したツールではありません。 AutoItのようなものは、このようなことを心に浮かべています。 – NathanOliver
そのプログラム用の明示的なC++ APIがない限り、C++を使用することは非常に妥当ではありません。 – Fang
@ NathanOliverがそれを調べます。 –