c++ - 如何对到达特定日期和时间触发的事件使用react

标签 c++ visual-c++ mfc scheduled-tasks

我正在使用 Windows 7 中的 Visual Studio 用 C++ 编写一个应用程序。该应用程序是一个单页 MFC 对话框应用程序。我想在达到特定时间和日期时弹出一个消息框。我正在使用日期选择器来获取将用作触发器的指定日期,并使用 CTime 对象来存储当前时间和预期时间。

不幸的是,我不知道从哪里开始寻找。是否有一个对象每分钟向窗口发送一次通知或消息?如果没有,是否有具体的方法可以让我完成这项工作,或者关于我可以从哪里开始寻找的建议?

编辑:是否可以计算当前日期和 future 日期之间的秒数并创建一个单独的倒计时线程(使用计时器)?

最佳答案

下面是接收计时器事件所需实现的功能的粗略草图:

UINT_PTR timerId = NULL;

void OnTimerEvent(HWND, UINT, UINT_PTR id, DWORD)
{
    if (timerId == id)
    {
        // timer action...
    }
}

void StartTimer()
{
    // call OnTimerEvent after 1000 milliseconds
    timerId = SetTimer(NULL, NULL, 1000, &OnTimerEvent);
}

void StopTimer()
{
    KillTimer(NULL, timerId);
}

关于c++ - 如何对到达特定日期和时间触发的事件使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14289975/

相关文章:

c++通过std::transform通过 vector 的索引获取 vector

c++ - 临时禁用调试代码

c++ - 使用C++在打印机上打印pdf文件

audio - 如何在UWP中播放AAC编码的数据?

visual-c++ - 是什么导致::AfxInitRichEdit2 失败,我该如何解决?

c++ - 线程安全管道端接

c++ - 带有内存集的 EXC_BAD_ACCESS

c++ - 迭代范围的更快方法

c++ - 写入有符号整数,就好像它在 C++ 中是无符号的一样

c++ - 重构我的代码。我的标题(Header Guard Issues)