代码之家  ›  专栏  ›  技术社区  ›  Matt126

在特定时间运行后台任务-Windows 10应用程序

  •  2
  • Matt126  · 技术社区  · 9 年前

    我已经找到了每天在特定时间运行后台任务的方法,例如12:00。

    我用TimeTrigger注册了BackgroundTask,不幸的是,它在注册后立即启动。

    builder.SetTrigger(new TimeTrigger(24 * 60, false));
    

    如果这是一天中正确的时间,有没有更简单的方法,然后每小时检查一次?

    2 回复  |  直到 9 年前
        1
  •  4
  •   colorfulchew    9 年前

    微软似乎避免了应用程序在精确的时间触发,但你可以通过计算用户注册任务到12:00的分钟数,然后重新订阅另一个任务(设置为24*60)来完成任务。我不确定微软是否在后台任务中允许这样做,但值得一试。

    计算任务到午夜的分钟数示例

    var tommorowMidnight = DateTime.Today.AddDays(1);
    var timeTilMidnight = tommorowMidnight - DateTime.Now;
    var minutesTilMidnight = (uint)timeTilMidnight.TotalMinutes;
    builder.SetTrigger(new TimeTrigger(minutesTilMidnight, true));
    
        2
  •  -1
  •   thewisegod    9 年前

    我以前用这个任务包装器创建过这样的东西,它每天都在启动。也许这就是你要找的。

    http://taskscheduler.codeplex.com/