我对winmm.dll的理解是它可以改变“滴答”的长度。
在像Windows 7这样的无滴答操作系统中,如果有的话有什么用途/效果?
答案 0 :(得分:3)
调用timeBeginPeriod不允许您更改“滴答”的长度,而是设置您对多媒体计时器功能的最低分辨率。如果您拨打timeBeginPeriod(1)
,则可以通过拨打timeSetEvent
来设置您设置的定时器的1毫秒分辨率(最多)。
除非您使用多媒体计时器(您可能不应该这样做,考虑到它们已经被弃用而不支持线程池计时器),所以没有理由再调用timeBeginPeriod
甚至是担心它。但是,有一些令人信服的理由不来调用timeBeginPeriod
或任何其他设置最小定时器分辨率的函数。请参阅http://www.microsoft.com/whdc/system/pnppwr/powermgmt/Timer-Resolution.mspxas。
Windows会以100纳秒“滴答”的间隔跟踪时间,无论您使用timeBeginPeriod
设置什么。如果您真的需要,timeBeginPeriod
只是一种获得更细粒度的定期事件的方法。它对Windows如何保持时间没有影响。