- ベストアンサー
CreateProcessでコンソールアプリケーションを起動するには
コンソールアプリケーションの中で、CreateProcess関数を用いて、自分自身のアプリケーションを起動したところ、次の結果になりました。 ・CreateProcess関数自体は成功する ・タスクマネージャで確認すると自分自身が2つ起動されている ただし、コンソールアプリケーションのウィンドウは1つしか開かず、そのウィンドウを2つのアプリケーションで共有しているかのように動作します(printfによるメッセージが2重に表示されるなど)。 使用言語はVC++ .NET 2008で、デバッガによる動作をさせています。 詳しい方、宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
dwCreationFlagsにCREATE_NEW_CONSOLEを指定するとどうなりますでしょうか。
その他の回答 (1)
- php504
- ベストアンサー率42% (926/2160)
回答No.1
VC++上で実行すると自動でコマンドプロンプトが開くので誤解されてるようですがコマンドプロンプトとプログラムは別のものです 普通はコマンドプロンプトを起動させそこからプログラム名を打ち込んでプログラムを起動させます CreateProcessでコマンドプロンプト画面は作られません
質問者
お礼
お礼が遅れ申し訳ありません。 引数dwCreationFlagsにCREATE_NEW_CONSOLEを指定したら2つの画面を作れました。 回答ありがとうございました。
お礼
お礼が遅れてすみません。 おっしゃる通りの方法でうまくいきました。 ありがとうございました。