C#添加注销关闭事件捕获

有的时候程序在运行时需要获取windows的关机或注销事件以处理一些后续问题这里提供一个方法,使用SetConsoleCtrlHandler这个API获取系统消息。
函数原型
[DllImport("kernel32.dll")]
private static extern bool SetConsoleCtrlHandler(ConsoleDelegate HandlerRoutine, bool add);

第一个参数是个委托类型可以定义为:
public delegate bool ConsoleDelegate(int type);

第二个参数设置为true即可

当系统发生类似关机,注销事件时会向所注册的委托里传送相关标志,即委托类型中int型参数。

2:代表关闭事件,这个事件可以用在一些Console程序上因为是命令行程序没有关闭事件,可以使用这个来捕获。

5:代表注销事件

6:代表关机事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值