如何在WinApi(C++)中创建计时器?如何在WinApi(C++)中创建计时器?
回答
调用SetTimer函数。这允许您指定一个回调函数,或让Windows发布一条WM_TIMER消息。
SetTimer。需要一个窗口句柄,并且如果您没有泵送消息,定时器将不会被发送。
如果您编写GUI代码,则无法知道这一点。这使得您可能想要使用CreateTimerQueueTimer()。
这是控制台应用程序 – SomeUser 2010-01-24 21:45:51
是的,CreateTimerQueueTimer是你的朋友。请注意,回调是在线程池线程上执行的,请使用适当的锁定。 – 2010-01-24 21:57:15
也可以在控制台应用程序中使用CreateWaitableTimer。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms682492(v=vs.85).aspx – 2014-05-28 05:57:31
呼叫的setTimer()
功能。假设我叫
SetTimer(hWnd,POST_CBIT_TIMER,500,NULL);
回调函数是
UINT nIdEvent ;//global member variable
case WM_TIMER:
if(nIDEvent == POST_CBIT_TIMER)
{
KillTimer(hParent,POST_CBIT_TIMER);
}
break;
- 1. 如何在C#中创建计时器?
- 2. 如何在Cookie中创建计时器?
- 3. 如何在C++中创建有效的便携式计时器?
- 4. 如何在JSF中创建计时器计数器
- 5. 在C#中创建'标签设计器'
- 6. 在C中创建计算器
- 7. 级别计时器 - 如何在Unity中创建时间限制?
- 8. 创建时间计数器Objective-C
- 9. 如何使用JLabel创建计时器?
- 10. 如何创建PowerPoint计时器?
- 11. 在Java中创建计时器类
- 12. 在Android中创建一个计时器
- 13. 如何在C中创建try计数器?
- 14. 如何使用WinApi创建连接点?
- 15. 如何使用WINAPI创建文件
- 16. 如何在c#中暂停计时器?
- 17. 如何在C#中设置计时器?
- 18. 在WinApi中如何从HANDLE中创建FILE *?
- 19. 如何创建计数器?
- 20. 如何使用CreateTimerQueueTimer在C#中创建高分辨率计时器?
- 21. 在WinAPI中创建菜单条?
- 22. 在WINAPI中创建一个颜色块
- 23. 在Linux中使用C++创建计时器队列
- 24. 如何在JavaScript中创建高级倒数计时器?
- 25. 如何在PHP中创建倒数计时器?
- 26. 如何在WPF中创建一个计时器?
- 27. 如何在VBA中创建递增计时器
- 28. 如何在计时器达到零时创建动作
- 29. 如何在OS X C代码中创建异步定时器?
- 30. 如何在C中创建一个定时器?
按照nobugz - 这不会在控制台应用程序或非GUI线程工作。线程必须抽取消息来生成SetTimer回调。 – 2010-01-26 21:33:52
SetTimer不是高分辨率(即<20ms)定时器。 CreateTimerQueueTimer更好但消耗更多资源。 – 2013-06-20 21:44:26