警报,即使应用程序已关闭
Posted
技术标签:
【中文标题】警报,即使应用程序已关闭【英文标题】:Alarm, even if application is shutdown 【发布时间】:2011-04-07 16:23:51 【问题描述】:我在我的 WinForms 应用程序中集成了一个小型待办事项列表,用户可以在其中添加任务并为其设置警报。即使应用程序关闭,是否可以在后台运行计时器(或闹钟计数器)。我正在使用AlarmClass
作为答案here。目的只是在达到闹钟时间时显示一个 MessageBox,与应用程序无关。还应该可以设置多个警报。
如果我的问题没有详细说明,我很抱歉,因为我不知道我必须包括的其他细节。但准备好回答您的问题了。
提前致谢。
编辑:link 上有任何 cmets 吗?
【问题讨论】:
【参考方案1】:简答
没有。如果你的应用程序被关闭,那就没有什么好办法了。
长答案
是的,如果你求助于聪明的黑客。你可以:
单击“X”按钮时在系统托盘/背景中运行您的应用 运行计划任务,每 N 分钟以“警报检查”模式启动您的应用 编写一个 Windows 服务来启动您的应用程序以处理警报事件【讨论】:
感谢输入种子,如果有的话,我会深入挖掘这些点并发布查询。 link 上的任何 cmets @Niraj:您链接中的闹钟应用程序是一个很好的方法,非常符合 Chris 的第一个建议。它有一个 UI 并显示如何将其停放在系统托盘中。比 Windows 服务(没有 UI)更容易实现。 @Niraj 对我来说看起来不错,但是这种方法确实有其缺点。例如,您需要确保应用程序始终在运行(自动启动)。此外,如果用户决定(有意或无意地)杀死它,则不再发出警报。我想你应该把这个决定留给用户,所以这似乎是一个好方法。【参考方案2】:我不确定,但你不能创建一个只显示在系统托盘中的 Windows 应用程序。将所需的键添加到注册表以确保它会在 Windows 启动时自动启动。
否则,您可以将其拆分为两个单独的应用程序; - 用于管理警报的 Windows 应用程序 - Windows 服务在后台进行检查
【讨论】:
嗯,将应用程序分成两部分是个好主意。我以前从未创建过服务,我会尝试找到一些关于它的文献和示例。谢谢 link 上的任何 cmet 吗? 那个教程似乎很简单。当然,对于您的需求(即多个警报)来说,这有点太基本了,您应该明确地将警报存储在文件/数据库中。但这是一个好的开始!以上是关于警报,即使应用程序已关闭的主要内容,如果未能解决你的问题,请参考以下文章