【问题标题】:Creating a window application that will perform certain action after every 10 minutes创建一个每 10 分钟执行一次特定操作的窗口应用程序
【发布时间】:2010-03-08 16:25:45
【问题描述】:

我想知道我是否还需要为这个特定操作使用基本的游戏循环?

【问题讨论】:

  • 如果您的应用程序有 UI,那么它是必需的,如果是控制台应用程序,那么您不需要消息循环。
  • 请注意,我认为“游戏循环”是指尽可能频繁地运行或以显示器的 VSYNC 速率运行的循环,而不是事件驱动

标签: c++ winapi timer timed-events


【解决方案1】:

不,只需使用CreateWaitableTimerSetWaitableTimer,然后在事件调度循环(通常在 WinMain 中)中使用 MsgWaitForMultipleObjects 而不是 GetMessage 或 PeekMessage。

【讨论】:

    【解决方案2】:

    您可以创建一个计时器并在 WM_TIMER 消息处理或您在创建计时器时指定的计时器 proc 函数上执行该操作。

    请参阅 SetTimerWM_TIMER

    【讨论】:

      【解决方案3】:

      使用Boost Asio 库,您可以更通用、更便携地实现计时器。

      Here's一个创建异步定时器的例子。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多