2

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

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

谢谢!!

坏熊猫

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

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

4

2 回答 2

2

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

于 2010-06-15T18:10:05.690 回答
2

我同意 JAB。程序化解决方案不能用于解决硬件故障。查看设置域权限以禁止关机。为了有效,您可能还需要限制硬件访问。您还可以添加 UPS 或通过热站点备份获得各种 $$。

这听起来确实像是基于事务的瘦客户端应用程序的工作。

于 2010-06-15T18:55:15.653 回答