質問を投稿した直後に自分で答えに気づいて自己レス…なんてことがたびたびあって申
し訳ないですが、どうかご容赦を…。
Win32 SDK でプログラムを作っているのですが、その中で AllocConsole でコンソール
を表示している部分があります。
ある処理を開始したらコンソールを表示し、その処理中の出力をコンソールに吐き出
し、処理が終了したらコンソールを閉じる、というのを目指しています。
で、処理中にコンソールが閉じられたら処理を中断するようにしたいのですが、何もし
ないとプログラムが終了してしまいます。
これを回避するために SetConsoleCtrlHandler を使っているのですが、
CTRL_CLOSE_EVENT に反応して TRUE を返しても、プロセスを終了するかどうか問い合わ
せるダイアログが出てしまいます(と、MSDN にもしっかり書いてあるのですが)。
MSDN を見ると、CTRL_CLOSE_EVENT を受け取った HandlerRoutine は、どうやってもプ
ロセスを終了するしか道がないように思えます。
なんとかこれを回避する手段はないものでしょうか?
それとも、コンソールを単に出力用のウィンドウとしては利用するなということなので
しょうか。
#Win32 API って、こういうところ、意地が悪いですよね。
#テキストファイルから一行読むとかできないし(関係ないか)。
忘れてました。
環境は WinXP Pro SP1 + VS.NET 2002 Academic です。
まっとうな回避策はなさそうですね。
コンソールに出力する部分を別プロセスにしてしまうとか、
コンソールにそっくりなウィンドウを作るとか。
むう、やはりそうですか…。
わかりました。ありがとうございました。
#でも、エディットボックスって追記して行くの難しいし
#コンソールなら何も考えなくても追記できるのにな…
おお、これで追記ができたとは!
ねぐさん、ありがとうございます!
も一回解決、っと。