我正在寻找一种在手动关闭控制台应用程序(用户关闭窗口)时触发一段代码的方法.我一直在try :

AppDomain.CurrentDomain.ProcessExit +=
    new EventHandler(CurrentDomain_ProcessExit);

但如果手动关闭,上述功能将不起作用.

有没有什么方法可以使用.Net调用,还是需要导入内核dll并以这种方式进行?

推荐答案

您需要钩住控制台退出事件,而不是进程.

http://geekswithblogs.net/mrnat/archive/2004/09/23/11594.aspx

Capture console exit C#

.net相关问答推荐

Long.MaxValue从Single到Long的转换导致溢出异常

如何使用AWS Lambda函数制作网络挂钩?

.NET Async / Await:状态机如何知道何时继续执行?

.Net MAUI Android 无法与 API localhost 对话

如何确定计时器是否正在运行?

如何在 C# 中自动删除临时文件?

使用 .NET 在 Windows 中创建弹出式 toastr 通知

序列化私有成员数据

如何使用 Android 使用 WCF 服务

为什么使用 ImmutableList 而不是 ReadOnlyCollection?

将 StreamReader 返回到开头

Visual Studio 2017 和 2019 突出显示滚动条中所选单词的出现

监听依赖属性的变化

CryptographicException 未处理:系统找不到指定的文件

ReaderWriterLockSlim 什么时候比简单的锁更好?

绑定到不在列表中的值的可编辑组合框

.NET 委托类型的正确命名约定?

使用 DateTime.ToString() 时获取日期后缀

SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 有什么区别?

Uri.Host 和 Uri.Authority 有什么区别