c# - 处理计时器的最佳方法?

标签 c# .net

我想创建类似于防病毒程序位于托盘中的方式的东西,并且可以在一定时间间隔内重新执行事件(例如扫描)。我有一个从 SQL 服务器导出数据的程序,用户设置一个他们想要导出的数据的队列。

我正在考虑使用 System.Windows.NotifyIcon http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx

和 系统定时器 http://msdn.microsoft.com/en-us/library/system.timers.timer%28v=vs.71%29.aspx

假设用户将其设置为每 X 小时重复一次或“每天”或“每周三 5:00”。我应该创建一个托盘图标并

this.Hide();

并设置一个计时器,该计时器会计时并将计时器启动的时间与用户设置的任何标准进行比较?或者,这是一种低效且浪费内存的方法吗?有没有办法“安排”事件在特定时间触发并以这种方式处理?

最佳答案

您可以使用 Windows 计划任务。

有一个名为 Task Scheduler Managed Wrapper 的库可用于从 C# 设置任务。

关于c# - 处理计时器的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353860/

相关文章:

c# - 如何通过当前的 Windows 用户凭据连接到 Exchange Server?

c# - 如何在 Word 自动化中隐藏 pdf 导入器弹出窗口

c# - 无效的对象名称 (ASP.NET MVC)

c# - RabbitMQ 公开的公钥中包含的证书链

c# - 将字符串转换为日期时间

c# - Lambda 在 VB.net 中?

c# - 在紧密循环中交错更新 .net 字典

c# - 为什么使用 Regex.IsMatch 检查此字符串会导致 CPU 达到 100%?

c# - 找不到部分路径 ... bin\roslyn\csc.exe

c# - 努力理解 MVVM 架构