2016-07-22 14 views
0

C++/qtを使用して他のウィンドウアプリケーションを制御する方法はありますか?C++を使用して別のアプリケーションを扱う

私は1000個の特定の画像フォーマットのファイルとそれらを開くことができるアプリケーションを持っています。このアプリケーションは "Save as ..."機能を使用して、これらのファイルを1つずつ ".JPEG"形式で保存することができます。私はこれを自動的にやりたい

これを行う方法はありますか?前もって感謝します!

+9

IMHO C++はこのジョブに適したツールではありません。 AutoItのようなものは、このようなことを心に浮かべています。 – NathanOliver

+2

そのプログラム用の明示的なC++ APIがない限り、C++を使用することは非常に妥当ではありません。 – Fang

+0

@ NathanOliverがそれを調べます。 –

答えて

0

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。
関連する問題