QProcess に非常に奇妙な問題があり、奇妙な動作です。
最後に取得したいのは次のようなものです(これはWindows 7のcmd.exeです)
C:\path_to_somewhere>cmd /c "C:\Program Files\path_to_dir\executable"
(cmd は QProcess の show との互換性のためのものです)
そのようなことをするために、私はこれを作成します:
QProcess proc;
QString command;
QStringList attributes;
command = "c:\\windows\\system32\\cmd.exe";
QStringList << QString("/c \"C:\\Program Files\\path_to-dir\\executable"");
proc.start(command, attributes);
エラー出力で得られるものは次のとおりです。
Name '\"c:\Program Files\Quantum GIS Wroclaw\bin\gdalwarp.exe\"' is not recognized as
internat or external command, executable or batch file.
(ポーランド語から私が翻訳したものなので、英語では少し異なる場合があります)。
\ 文字は文字列内でエスケープされていないようで、コマンドの文字として \" を残しています。何が間違っていますか?
私は試してみました
proces.start(QString)
トリプル \"\"\" を使用しても機能しません。この問題の解決策は、私がそれについて考えないほど簡単でなければならないと思います。