-2

コンソール アプリケーション プロジェクトがあります。GUI (winforms) と、デバッグ コンソール (アプリケーションの実行ログ) として使用されるコンソール ウィンドウがあります。

現在、デバッグを無効にしている場合は、ShowWindowネイティブ呼び出しでコンソール ウィンドウを非表示にします。

問題は、ボタンを押してアプリケーション ウィンドウを閉じた後X(Application.Exit())、ゾンビ コンソール プロセスが発生することです。

最初にコンソールを閉じるとEnvironment.Exit(0)、フォームが表示されません。

そこに追加してフォームのクローズドイベントを変更しようとしましたがEnvironment.Exit(0)、それは機能しませんでした。つまり、ゾンビコンソールプロセスがまだ残っています。

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

4

1 に答える 1

3

コンソール アプリケーションの場合、コンソールはプロセスが終了するまで「閉じ」ません。したがって、フォームを通常どおりに閉じる必要があるだけです...必要に応じてフォームを「開いた」と仮定します。

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

于 2012-04-21T15:27:47.107 に答える