私は、コマンドライン操作を使わずにavrdudeを起動できる単純なQTプログラムを作成しようとしています。Qprocess and avrdude
Qprocessを使用すると、あらゆる種類のプログラムを簡単に起動でき、Explorer Wordやその他のような簡単なプログラムでうまくいったことがわかりました。
問題は、私が正しく起動するためにすべての情報を含むバッチファイルを渡そうとしても、cmd.exeを開こうとすると何も起こらないということです。
ここで私は(ボタンのクリックで)QProcess::startDetached()
を使用してコマンドを使用してcmd
を開始する方法を示した最小限のサンプルアプリケーションを書いたコード
QProcess *process = new QProcess(this);
process->startDetached("cmd.exe",QStringList()<<"C:/avrdude/avr.bat");
してください、あなたは 'QProcess'でcmd.exe''にバッチファイルを渡したのかを示すためにあなたのポストを編集します。再現可能なサンプルを作成するためだけに、 'echo" Hello "を含むバッチファイルを使用することができます。 – Scheff
あなたの返事をありがとう、私は私のコードを編集した、あなたが私のバッチファイルの絶対パスを渡すcmd.exeを開くように頼むことがわかります。私のバージョンでは、Qfiledialogから得られたパスを保存するqstringによって絶対パスが与えられます。 – Deid
一見すると悪くはありません。 'cmd.exe'は開いているか閉じていますか、それとも開いていますか?前者の場合、最初の引数として '/ K'を使用できます。私は 'cmd.exe'に 'help cmd'と入力することでこれを見つけました。 – Scheff