我创建了一个 C# 控制台应用程序来处理Ctrl-C通过订阅 Console.CancelKeyPress 事件。当我执行(调试版本)应用程序时,进程中已经创建了 14 个线程。当我按下Ctrl-C创建一个新的第 15 个线程并调用我的处理程序。我使用来自 sysinternals 的进程资源管理器来查看进程的状态。
我很想知道消息如何传递到进程以及如何创建附加线程的内部Ctrl结构C?我想,即使我不订阅事件,它仍然会创建一个额外的线程并退出进程。处理的默认机制如何Ctrl-C为应用程序设置。
我是一名 .net 开发人员,但想了解 Windows 操作系统如何在后台工作。以上问题只是出于对学习windows操作系统的好奇。