2012-04-21 34 views
-2

私はコンソールアプリケーションプロジェクトを持っています。 gui(winforms)とデバッグコンソール(アプリケーションの実行ログ)として使用されるコンソールウィンドウを持っています。今フォームが閉じられた後にコンソールウィンドウを閉じる方法

、私はShowWindowネイティブコールでコンソールウィンドウを隠す無効にデバッグを持っている場合。

問題は次のとおりです。Xボタンを押して終了するか、終了するか(Application.Exit())、私はゾンビコンソールプロセスを持っています。

私はEnvironment.Exit(0)することにより、非常に初めにコンソールを閉じると、フォームが示したされていません。

私はEnvironment.Exit(0)を追加してクローズドイベントを修正しようとしましたが、これは動作しませんでした。つまり、ゾンビコンソールプロセスが残っています。

アプリケーション終了時にコンソールウィンドウを閉じるにはどうすればよいですか?

+0

「何かがうまくいかない」と言ったときは、あなたが何を期待しているのか、それとは違うことを説明する必要があります。 –

+0

winformを立ち上げてみませんか?どのようにコンソールからGUIを呼び出していますか...コンソールからGUIを呼び出していますか? – Serdalis

+0

コンソールが隠れている場合、あなたは「ゾンビプロセス」を持っていることをどのように知っていますか?それはどういう意味ですか? –

答えて

3

コンソールアプリケーションの場合、コンソールはプロセスが終了するまで「閉じる」ことはありません。だから、フォームを通常通り閉じる必要があります。フォームの「開く」を

、あなたは実行にそれを必要とします。 Application.Run(Form)(実際のフォームプロジェクトを初期化するのと同じ方法)を呼び出して実行します。コンソールはプロセスに割り当てられているので、フォームはConsole.Outに書き込まれ、書いた内容が表示されます。

+2

が働いた。私はちょうど私のメイン関数の最後にEnvironment.Exit(0)を追加しました。 – cheshie

関連する問題