Console Applicationで「ctrl+C」を処理できないのでしょうか?

解決


タケル  2005-10-15 10:41:52  No: 59272  IP: 192.*.*.*

・今、Console Applicationで「ctrl+C」を「kbhit()」と「getch()」を使い自分で処理しようと思ったのですが、「ctrl+C」は強制終了してしまいます。
  強制終了しないようにして、自分で処理をすることはできないのでしょうか?
  分かる方がいましたら、教えてください。
  お願いします。

編集 削除
シャノン  2005-10-15 13:32:40  No: 59273  IP: 192.*.*.*

SetConsoleCtrlHandler を使うと、Ctrl+C が押されたことを検出できます。
ただし、検出した後は、どうやっても終了するしかなさそうな気配です。
もし、うまいこと終了を回避することができたら教えてください。

編集 削除
シャノン  2005-10-15 13:44:14  No: 59274  IP: 192.*.*.*

失敬。Ctrl + C ならちゃんとハンドリングできますね。
以前、CTRL_CLOSE_EVENT(HandlerRoutine のドキュメント参照)をキャンセルして、どうしてもできなかったのと混同していたようです。

編集 削除
タケル  2005-10-17 23:00:19  No: 59275  IP: 192.*.*.*

シャノンさん、返信ありがとうございます。
  とても早い返信をくださったのに返信が遅くなってしまってすいませんでした。
  SetConsoleCtrlHandlerを使うことによって、思ったとおりのことができました。
  本当にありがとうございました。

編集 削除