2016-09-07 11 views
0

QProcessのメソッド 'start'を使用してWindows上でコンソールアプリケーションを起動しようとしています。公式ドキュメントは、私はこのようにそれを行うことができます言う:QTを使用してWindowsでプロセスを開始するには?

QProcess process; 
process.start("C:/Windows/System32/cmd.exe"); 

と呼ばれるプロセスが実行されているのに、私は標準のグリーティングメッセージは、呼び出し元のアプリケーションのコンソールに表示されることを期待していますが、これは起こりません。ここで何が間違っていますか?怒鳴る例の

+0

ところで、WinAPI関数を使用して動作させると、期待通りに機能します。 –

+1

http://stackoverflow.com/questions/2622864/start-a-process-using-qprocess duplicate? – HazemGomaa

答えて

0

使用:

QProcess *process = new QProcess(this); 
QString program = "explorer.exe"; 
QString folder = "C:\"; 
process->start(program, QStringList() << folder); 

もあなたに怒鳴るsystem()を使用することができます。この静的コールについてどのように

system("C:/Windows/System32/cmd.exe"); 
+0

"C:\"はC++の有効な文字列リテラルではありません。 – MrEricSir

+0

「こちら」とは何ですか?私にはクラスはありません。私は 'system()'について知っていますが、私はQtの関数を使いたいと思います。 –

+0

私の答えで 'process-> start()'をテストしますか? –

0

を?

QProcess::startDetached(FilePath,Arguments,StartInDir); 

オブジェクトを作成する必要はありません。

+0

Detatchedは正常に動作しますが、これは必要なものではありません。 –

関連する問題