- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要暂停使用 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++ 计时器对象之一的指针作为“参数”传递给回调(在 CreateTimerQueueTimer 中)。然后,我在回调中对对象调用虚拟方法。 Ti
我需要暂停使用 win32 API 的 CreateTimerQueueTimer 函数创建的计时器,但我找不到暂停计时器的方法。有人知道这是否可能吗? 最佳答案 相信你可以调用ChangeTimer
我的应用程序需要高分辨率(比 1 毫秒更准确)计时。 Windows 中的可等待计时器精确到(或可以精确到毫秒),但如果我需要精确的周期,比如 35.7142857141 毫秒,即使是 36 毫秒周期
我使用 Windows 多媒体 dll 创建了一个高分辨率计时器 timSetEvent() 但是timeSetEvent()页面推荐使用: CreateTimerQueueTimer() 如何使用
这个问题有点长,但我们开始吧。有一个 FormatDateTime 版本据说是线程安全的,因为您使用 GetLocaleFormatSettings(3081, FormatSettings); 获取
我正在努力实现 +/- 毫秒计时精度。我希望线程之间的时间为 10 毫秒,但当我测量时间时,我得到的结果接近 15 毫秒。 我想了解问题是由于我测量时间的方式引起的,还是我测量时间准确并且 Creat
我正在尝试使用 CreateTimerQueueTimer(...) 每隔一段时间运行一个函数。 我正在使用来自 MSDN 的示例,主要是这一行与我有关: CreateTimerQueueTimer(
我是一名优秀的程序员,十分优秀!