c# - 如何在用户注销或关闭 Windows 时延迟关闭应用程序?

标签 c# windows dialog system-shutdown

我正在编写一个从启动到关闭都在后台运行的应用程序,在某些情况下我需要该应用程序显示一个对话框,供用户选择是否继续关闭。该应用程序只能在 Windows 上运行,但可以在 2000 年以后的任何版本上运行。

虽然我确实对这个主题做了一些研究,但有关 Windows 处理应用程序关闭的方式 ( http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx ) 的信息似乎有点分散。如果有人有处理此问题的最佳方法的示例,或者有关该主题的其他知识,我将非常感激(我对 C# 的经验很少)。

谢谢!!

坏 Pandas

编辑:我知道阻止关闭不被认为是好的做法。这是此应用程序的关键业务需求。

编辑:根据下面几位评论者的建议(重新设计,以便不需要阻止关闭),我使用了 NotifyIcon Balloon 弹出窗口来通知用户在应用程序发送数据时不要关闭。虽然这不太可能阻止数据在本地计算机上保留数周,但我认为这是最佳实践和业务需求之间的良好折衷。毕竟,如果用户会变得愚蠢……那么,用户就会变得愚蠢。

最佳答案

嗯,您链接的 MSDN 文章解释得很清楚:如果您的应用程序在 Vista 或 Win7 上运行,则无法阻止 Windows 关闭。提示用户不起作用,对话框将无法访问。您必须考虑处理此问题的应用程序设计。

关于c# - 如何在用户注销或关闭 Windows 时延迟关闭应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3047604/

相关文章:

c# - 如何制作长度为5的随机数字和字母串?

c# - 获取具有不同键的重复值的枚举变量的值

c++ - Windows 工具栏 - 控制按钮大小和填充

jquery - 在 <a> 标签中为 jQuery 对话框指定高度和宽度

c# - 通过 C# 代码复制数据库对象

c# - 在 ListView 中使用 Select Index 选择多行 - WPF (MVVM)

windows - SQLLOCALDB 问题

c++ - 在另存为对话框前显示弹出消息

javascript - Shadowbox - 如何切换或替换内容?如何关闭和打开另一个对话框?

iphone - FBConnect (IPHONE),自定义发布对话框