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

标签 c winapi

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

最佳答案

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

关于c - 如何暂停使用 CreateTimerQueueTimer 创建的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56044529/

相关文章:

c - 确定窗口消息的优先级

C99:处理 `pow()`(溢出或复数)引发的异常的推荐方法是什么

c# - 将 C++ 代码转换为 C# 用于加密算法

winapi - VB4 AddressOf 等效项(向系统菜单添加项目)

c - 如何兼顾 FILE_SKIP_COMPLETION_PORT_ON_SUCCESS、IOCP 和清理

winapi - SHGetFileInfo() 返回错误的 HICON

C:通过交换元素数据对链表进行排序

c - int *q = p++ 和 int c = a++ 的汇编 lea 指令

c++ - EnumMonitors WinAPI 上的段错误

c++ - WNDCLASSEX 和 CreateWindow 有什么区别?