当前位置:  开发笔记 > 编程语言 > 正文

win32服务中的计时器

如何解决《win32服务中的计时器》经验,为你挑选了2个好方法。

有人可以指点我在Win32服务中使用计时器的最简单方法吗?

我想我可以为此目的创建一个虚拟窗口,或者让第二个线程做滴答计数,但最好的是什么?有更优雅的方式吗?

提前致谢.



1> denis philli..:

您可以使用计时器队列(http://msdn.microsoft.com/en-us/library/ms686796.aspx).它们不需要HWND.



2> Adam Mitz..:

您可以使用内核等待计时器对象,而不是使用UI计时器(即使您可以使用1800-INFO先生所示的NULL窗口句柄).请参阅API文档中的CreateWaitableTimer.然后可以使用WaitForSingleObject或WaitForMultipleObjects等等这些等待,如果您的服务已经等待外部事件,这将特别有用.

如果从第一个链接不清楚,则SetWaitableTimer函数可以将完成例程(用户回调)与计时器相关联.请记住使用... WaitForMultipleObjects(等)的Ex版本,以便线程处于"可警告"状态.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有