如何暂停使用CreateTimerQueueTimer创建的计时器

时间:2019-05-08 15:48:37

标签: c winapi

我需要暂停使用Win32 API的CreateTimerQueueTimer函数创建的计时器,但是我找不到暂停计时器的方法。 有人知道这是否可能吗?

1 个答案:

答案 0 :(得分:5)

我相信您可以调用ChangeTimerQueueTimer并将_In_ ULONG Period设置为0。其中_In_opt_ HANDLE TimerQueue参数为NULL,而_Inout_ HANDLE Timer为HANDLE从CreateTimerQueueTimer中检索。这将仅在计时器中执行一次回调并停止。如果要重新激活计时器,则可以使用相同的句柄再次ChangeTimerQueueTimer,以提供大于0的周期来定期运行。没有专门用于暂停计时器的API,但是在您的情况下,阻止计时器定期运行应该等效。请注意,在挂起之前调用ChangeTimerQueueTimer后,您的回调将被触发一次。