VB实现精确到10ms内的定时器!
Gutta 2006-01-19 11:19:55 笔者在这里向大家提供一个可以精确到1毫秒的定时器——多媒体定时器。它主要通过以下函数来实现:
----timeBeginPeriod——建立应用程序使用的定时器分辨率;
----timeEndPeriod——清除前面用timeBeginPeriod函数建立的最小定时器分辨率;
----timeSetEvent——产生一个在指定的时间或时间周期间隔内执行的定时器事件;
----timeKillEvent——删除前面用timeSetEvent产生的定时器事件;
----timeGetDevCaps——返回关于定时器服务能力的信息。
多媒体定时器对实现高精度定时是很理想的工具,而且其精度是十分可靠的
。但是,多媒体定时器也并不是完美的。因为它可靠的精度是建立在对系统资源的
消耗之上的。因此,在利用多媒体定时器完成工作的同时,必须注意以下几点:
---- 1. 多媒体定时器的设置分辨率不能超出系统许可范围。
---- 2. 在使用完定时器以后,一定要及时删除定时器及其分辨率,否则系统会
越来越慢。
---- 3. 多媒体定时器在启动时,将自动开辟一个独立的线程。在定时器线程结
束之前,注意一定不能再次启动该定时器不然迅速造成死机
----------------------------------------------------------------------------------
请问:VB使用该几个API函数是否能实现在VC++中的类似效果,有没有人做过???
用途:工业控制,高速监控PLC运行状态,要求10ms一次通信数据交互并且程序能运行稳定。
请教各位大虾了!