0
C#には、アプリケーションウィンドウを表示せずにサードパーティのアプリケーションを実行できるようにする属性があります。QProcess with CreateNoWindow
は、Win32 CreateProcess関数を使用せずにQTで、コンソールウィンドウを表示せずにコンソールアプリケーションを実行する方法はありますか?
C#には、アプリケーションウィンドウを表示せずにサードパーティのアプリケーションを実行できるようにする属性があります。QProcess with CreateNoWindow
は、Win32 CreateProcess関数を使用せずにQTで、コンソールウィンドウを表示せずにコンソールアプリケーションを実行する方法はありますか?
QProcess.start()
は、そのウィンドウを表示せずにコンソールアプリケーションを実行しますが、あなたはまた、それをある程度制御を持っているしたい場合があります。
QProcess p;
p.setProcessChannelMode(QProcess::MergedChannels);
p.setStandardOutputFile("out.txt");
p.start("cmd.exe", QStringList()<<"/C"<<"ping"<<"127.0.0.1");
p.waitForStarted();
p.waitForFinished();
あなたは(QStringList
内)startメソッドで二番目の引数を使用してコンソールにコマンドとパラメータを渡すことができます。この例を参照してください。 setStandardOutputFile
メソッドを使用して、出力を何らかのファイルにリダイレクトすることもできます。
あなたがp.startDetached()
を使用し、ウィンドウを表示する必要がある場合。
私がping x.x.x.x -tを使用したい場合ので、私はQThreadが必要になりますか? –
@KooroshGhorbani申し訳ありませんが、あなたの質問は不明です、何を達成しようとしていますか?どのコンソールアプリケーションを実行するのですか? – lena