- ベストアンサー
コンソールアプリの起動結果待ち→WaitForInputIdle??
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。itohhといいます。 >コンソールアプリの起動の場合はWaitForInputIdleは >待たずにすぐに結果を返してしまうのです。 WaitForInputIdle関数は、ウィンドウを持つアプリケーションでなくては正常に動作しません。 最終的にどういうことをしたいのかが解りませんが、 EventオブジェクトとCSingleLockオブジェクトを使ってみては如何ですか? 簡単なサンプルを載せておきますので参考にしてください。 << 親プロセス >> CEvent* m_Event=NULL; // 子プロセスを待つためのイベントを作成する。 m_Event = new CEvent( FALSE, FALSE, "Wait_Event" ); CSingleLock wkWait( CSyncObject* m_Event ); // // 子スレッドを起動するための、CreateProcess関数を実行する。 // // 子プロセスのm_Event->SetEvent()が実行されるまで待機する。 wkWait.Lock( INFINITE ); ----------------------------------------------- << 子プロセス >> 起動直後の初期処理が終わった後。 CEvent* m_Event=NULL; // Eventモジュールをシグナル状態にする // 3番目の引数は親プロセスと同じにしなければいけない m_Event = new CEvent( FALSE, FALSE, "Wait_Event" ); m_Event->SetEvent();
関連するQ&A
- CreateProcessでコンソールアプリケーションを起動するには
コンソールアプリケーションの中で、CreateProcess関数を用いて、自分自身のアプリケーションを起動したところ、次の結果になりました。 ・CreateProcess関数自体は成功する ・タスクマネージャで確認すると自分自身が2つ起動されている ただし、コンソールアプリケーションのウィンドウは1つしか開かず、そのウィンドウを2つのアプリケーションで共有しているかのように動作します(printfによるメッセージが2重に表示されるなど)。 使用言語はVC++ .NET 2008で、デバッガによる動作をさせています。 詳しい方、宜しくお願いします。
- ベストアンサー
- C・C++・C#
- CreateProcessで起動したアプリの監視
はじめまして、E46-M3と申します。 さっそくですが、CreateProcessを使って他の プログラムを起動した際、その起動したプログラムを 監視することは出来ないのでしょうか? 具体的に言いますと、 CreateProcessで起動させたプログラムが 終了したか、していないか または、異常終了したか などの判断をしたいのですが・・・ どなたかご存知な方がいましたら 是非教えて下さい。よろしくお願いします。
- 締切済み
- C・C++・C#
- MFCをDLL化してコンソールアプリから起動
MFCアプリケーション(プロジェクト作成でMFCアプリケーションを選択)をDLL化して、コンソールアプリケーションからこのMFCをマルチスレッドで起動する方法を教えてください。MFCが起動後、コンソールアプリケーションの処理は次に進行し、MFCは操作可能な状態(アイコンなどがクリック可能で、青丸クルクルにはならない)にしたいです。また、コンソールアプリケーションからもMFCが操作可能にしたいです(例えば、コンソールアプリからAと入力するとファイルのオープンダイアログが開く、、、とか)。
- ベストアンサー
- C・C++・C#
- コンソールアプリを使いたい
.sndを.waveに変換したくて調べてみると、 snd2wavというコンソールアプリを使えば変換できることが分かりました。 しかし今までコマンドプロンプトに触れたことがなく あれこれ調べつつやってみても、なかなかこのアプリを起動(?)させることができません。 ですので初心者にも分かりやすいコマンドプロンプトの使い方を載せているサイトなどあれば教えてほしいです。
- 締切済み
- C・C++・C#
- C#のコンソールアプリ
起動時に引数としてファイルの絶対パスを与え、そのファイルの内容を表示させる、というコンソールアプリを作成しようとしています。 このとき、引数にはエスケープ文字が入ることが予想されますが、そのまま処理に使用できるのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- コンソールアプリの起動パラメータ について
・環境 XP, Borland C++ Compiler 5.5 ・使用言語 C++ コンソールアプリを作成しています。 コンパイルして出来上がったEXEのアイコンに、何かファイルを ドラッグ&ドロップすると、そのファイルがパラメータとなって EXEが起動されると思うのですが、ここで疑問があります。 (1)最大パラメータ数というのはどこかに規定されているのでしょうか。 (2)複数のファイルをドラッグ&ドロップした時に、EXEに渡される順番というのはどのように決定されるのでしょうか。 よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- 32bitアプリから64bitアプリの起動について
32bitアプリから64bitアプリの起動について Windows 7 Professional 64bit上で、32bitアプリから64bitアプリをCreateProcessで起動して利用しているのですが、複数のPCで問題なく動作するのですが、64bitアプリの起動ができずエラーになるPCがあり原因がわからず困っています。 何か原因として考えられることはないでしょうか?
- 締切済み
- その他(プログラミング・開発)
- コンソールの出力をパイプでダイレクトに受け取りたい(VB)
標記の件、お聞きします。 他のクライアント(VBアプリ等)からの利用が想定されていないコンソールアプリには、実行結果がコンソール(DOSプロンプト)にしか出力できないものが多いと思います。 このようなプログラムをVBで利用する場合、出力を一度ファイルにリダイレクトしてから、そのファイルをVBで読み込む方法が一般的だと思いますが、ファイルを介することなく、パイプ等を使用して出力を直接VBで受け取ることは可能でしょうか? 私が調べた限りでは方法を見つけられなかったのですが、ご存知の方教えてください。 そもそも、C++、COM(ActiveX)の知識、スキルがあれば、VBから使いやすいインターフェイスを作ることはいくらでも可能な訳で、パイプにこだわる必要はなさそうですが・・・。 仕事でも学校の課題(笑)でもないので、暇なときに気が向いたらコメントを頂けると幸いです。
- 締切済み
- Visual Basic
- Eclipseのコンソールを常に表示させておきたい。
Eclipseでプログラムを実行すると、結果がコンソールに出る場合は、コンソールが出てそこに結果が出力されると思うのですが、出力された後に、ソースコードの部分をクリックするとコンソールが閉じてしまいます。 常に出しておく方法はあるでしょうか?
- ベストアンサー
- Java
お礼
お礼が遅くなって申し訳ありません。 無事、解決しました。 ありがとうございました。