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

解決


タケル  2005-10-15 19:41:52  No: 59272

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


シャノン  2005-10-15 22:32:40  No: 59273

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


シャノン  2005-10-15 22:44:14  No: 59274

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


タケル  2005-10-18 08:00:19  No: 59275

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加