私のプロジェクトでは、cli プログラムにコマンドを時々送信する GUI プログラムを作成しました。私はこのようにします:
system("folder\\program.exe -d folder\\inputFile.dat folder\\outputPath");
明らかにそれらの名前はありませんが、アイデアはわかります。私のGUIプログラムがこれらのコマンドを送信する場合を除いて、これは正常に機能し、コマンドプロンプトウィンドウが開き、cliプログラムが行うはずのことをすべて実行します。それは非常に悪く、不潔に見えます。
cliプログラムウィンドウを「隠す」ことができますが、必要なことを黙って実行する方法はありますか?
御時間ありがとうございます :)
編集: QDesktopServices と QUrl を使用してプログラムを呼び出すというオリーブの手法を試しました:
QDesktopServices::openUrl(QUrl("folder\\program.exe -d folder\\inputFile.dat folder\\outputPath"));
コンソール ウィンドウは表示されませんが、プログラムはまったく呼び出されませんでした。オリジナルの system() コマンドではなく、オリーブの手法を使用するときにパスに変更を加える必要はありますか?