gpt4 book ai didi

c# - Windows 关闭时触发应用程序退出

转载 作者:行者123 更新时间:2023-11-30 14:16:20 25 4
gpt4 key购买 nike

我有一个 winforms 程序,它有一个“退出”按钮,该按钮触发一个执行清理的事件,然后触发 Application.Exit(); 退出程序。

但由于该程序是一个托盘应用程序,我经常忘记使用此退出按钮关闭程序,而只是点击 Windows 关机。如果我这样做,则不会调用该事件,因此不会进行清理。

我的问题是:在使用不同的关闭方法(例如关闭 Windows)时,是否存在我可以依赖的事件?

我已经看到我可以覆盖 OnClosing - 但这是正确的方法吗?

编辑:

所有答案都有效。但我最终以:

Application.ApplicationExit += new EventHandler(Application_ApplicationExit);

最佳答案

我想你可以用这个:

void Init()
{
SystemEvents.SessionEnding +=
new SessionEndingEventHandler(SystemEvents_SessionEnding);
}

void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
// Do what you need
}

一个很好的阅读链接可以是 this

已编辑:该解决方案甚至适用于非表单应用程序(控制台、服务等...)。

关于c# - Windows 关闭时触发应用程序退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7764565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com