首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 7和8中设置提醒,使其每隔一天关闭一次

在Windows 7和8中设置提醒,使其每隔一天关闭一次
EN

Stack Overflow用户
提问于 2013-09-06 13:51:46
回答 2查看 1.1K关注 0票数 1

在我的应用程序中,我使用提醒服务向用户提供提醒,这会促使他们做一些事情。我使用以下代码来执行此操作:

代码语言:javascript
复制
if (date > DateTime.Now)
{
    Reminder r = new Reminder(fileTitle);
    r.Title = fileTitle;
    r.Content = fileContent;
    r.BeginTime = date;

    ScheduledActionService.Add(r);
}

然而,这只发生了一次。我尝试将ExpirationTime设置为某个值,但这每天都会重复提醒。

有谁知道如何每隔一天开一次火呢?

(此外,知道如何为一周中的某些日子设置提醒也很好,但目前的主要问题是每隔一天设置一次提醒。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-06 15:38:10

就你的情况而言,我建议储存闹钟应该响的时间。您可以将此信息存储在应用程序设置或文件中。当用户第一次要求安排提醒时,请继续您正在做的事情,然后也为警报节省时间。您可能还想问用户,当他们希望警报停止和保存的时候。

为了确保每隔一天发出一次警报,您需要向应用程序添加一个背景代理。代理中有一个OnInvoke方法。在此方法中,您将检查警报是否已被调度。如果是的话,你就没什么事可做了。如果不是,那就把它安排在第二天。代理人大约每30分钟开火一次,所以99%的时间你的代理人开火时,警报/提醒已经安排好了。

下面是要放在OnInvoke方法中的代码

代码语言:javascript
复制
string fileTitle = "Foo";
string fileContent = "Bar";
var action = ScheduledActionService.Find(fileTitle);
if (action == null)
{
    // shouldn't be null if it was already added from the app itself.
    // should get the date the user actually wants the alarm to go off.
    DateTime date = DateTime.Now.AddSeconds(30);
    action = new Reminder(fileTitle) { Title = fileTitle, Content = fileContent, BeginTime = date };
}
else if (action.IsScheduled == false)
{
    ScheduledActionService.Remove(fileTitle);
    // most likely fired today, add two days to the begin time.
    // best to also add some logic if BeginTime.Date == Today
    action.BeginTime = action.BeginTime.AddDays(2);
}
ScheduledActionService.Add(action);
票数 2
EN

Stack Overflow用户

发布于 2013-09-06 13:58:27

您需要将RecurrenceType设置为RecurrenceInterval值。不幸的是,对于自定义日程(即每隔一天),目前没有可用的东西。

又来了!微软在这里做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18659481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档