2016-08-22 46 views
-1

を使用するバッチファイル:私は、QTを使用してバッチファイルを実行しようとしているバッチファイルがnircmd.exeプログラムを使用しているとこのようになりますnircmd.exe

@echo off 
nircmd setprimarydisplay 2 
timeout /t 10 
nircmd setprimarydisplay 1 
exit 

と私がしようとしています私は私のQTコードを実行しているとき、それは言う

QProcess::startDetached("cmd", QStringList() << "/c" << "C:\\Users\\User\\Desktop\\tmp.bat"); 

:QTでこの行を実行する「『nircmd』は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」

nircmd.exeはc:¥windows¥system32にあり、コンピュータのパスが正しい場所に検出されています。

何が問題なのですか?私はフィギュアそれを持っている

おかげ

+1

それが動作します? – isanae

+0

x86/x64アーキテクチャの不一致が問題になる可能性があります。 – kefir500

+0

私はコマンドラインから起動しています。私がqtを使用しているときには、 – biramb

答えて

0

は、問題は、このように見えるはずの.batファイルにして:あなたは、コマンドラインから手動でバッチファイルを起動する場合

c:\windows\system32\nircmd setprimarydisplay 2 
+0

'c:\ windows \ system32'があなたのパスになければなりません。これで問題が解決したら、 'PATH'環境変数に問題があります。バッチファイルにそのファイルを印刷して、その内容を把握してください。 – isanae

+0

PATHは問題ではありませんでした。 qtコマンドまたはcmdコマンドからbatファイルを実行しようとすると問題が発生し、nircmd(この場合)を見つけることができない場合は、OSが64ビットなので、nircmd.exeを探します。 c: \ windows \ sysWOW64 代わりに – biramb

関連する問題