3

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

4

1 回答 1

5

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

于 2019-05-08T16:11:39.137 回答