确定关闭正在关闭我的应用程序

发布于 2024-07-08 05:28:59 字数 165 浏览 6 评论 0原文

.NET 中是否可以确定我的应用程序是否由于 Windows 收到关闭命令(而不是任何旧的应用程序关闭)而关闭,以便写出一些临时缓存文件,甚至阻止关闭足够长的时间以提示用户输入?

虽然我当前的范围涉及 Winform 应用程序和 Windows 服务,但如果可能的话,我有兴趣以通用方式理解这一点

Is it possible in .NET to ascertain whether my application is closing due to Windows being given a shutdown command (as opposed to any old application closing) in order to either write out some temporary cache files or even block the shutdown long enough to prompt for user input?

Whilst my current scope involves a Winform app and a windows service, I am interested in understanding this in a generic way if possible

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

野の 2024-07-15 05:28:59

SystemEvents.SessionEnding 看起来是一个很好的起点为你。 该文章讨论了发生注销/关闭时涉及的事件序列。

SystemEvents.SessionEnding looks like a good starting point for you. That article talks about the event sequence involved when a logout/shutdown is occurring.

始于初秋 2024-07-15 05:28:59

一般来说,您需要处理 WM_QUERYENDSESSION Windows 消息。 这将使您的应用程序有机会进行清理,或者在确实有必要时阻止关闭。

In general, you will want to handle the WM_QUERYENDSESSION Windows message. This will give your application a chance to do cleanup, or to block the shutdown if it's really necessary.

自由如风 2024-07-15 05:28:59

处理 Microsoft.Win32.SystemEvents 类型的 SessionEnded 事件。

Handle the SessionEnded event on the Microsoft.Win32.SystemEvents type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文