【问题标题】:Start a timer which expires in millisec in Windows C在 Windows C 中启动一个以毫秒为单位的计时器
【发布时间】:2016-04-11 12:53:21
【问题描述】:

我正在 Windows 中开发一个 C 程序。我想启动一个有效期为毫秒范围的计时器。我曾在 RTOS 工作过,其中,RTOS 提供了用于创建、启动和停止计时器的 API 以及它的处理程序。

那么如何在 windows 编程环境中利用这些特性呢?

【问题讨论】:

  • @ZahiroMor 是一个c 问题windows 平台关于计时器,而不是时间
  • 如果你需要一个实时操作系统,你就需要一个实时操作系统。 Windows 上的计时器没有硬实时保证。如果您对 10 毫秒的粒度没问题,Windows 计时器可能是一个解决方案。但是,您的问题没有包含非常详细的规范。
  • ^^^ 桌面操作系统就是这样。它在桌面方面做得非常好。
  • 不可能,Windows 不是 RTOS。

标签: c windows timer


【解决方案1】:

在 Windows 上,如果您通过窗口消息传递执行此操作,则可以使用 SetTimer API:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644906(v=vs.85).aspx

当定时器触发时,你的窗口会收到WM_TIMER消息,你可以在其中处理定时器:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644902(v=vs.85).aspx

【讨论】:

  • @ScottStensland:这些链接是指向官方文档的链接,包括SetTimerWM_TIMER。如果这些链接变得无效,答案仍将包含足够的信息来搜索和查找文档。在您的专业领域之外进行评论时,您需要格外小心。在这种情况下,您显然选择了错误的选项。
  • 为什么我必须有理由才能让别人投票?
猜你喜欢
  • 2017-07-10
  • 2012-11-15
  • 1970-01-01
  • 2012-04-28
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
相关资源
最近更新 更多