定時器事件作業

[與此頁面相關聯的功能 多媒體定時器是舊版功能。 它已被 多媒體類別排程器服務取代。 多媒體類別排程器服務 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 多媒體類別排程器服務,而不是 多媒體定時器。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

建立應用程式的定時器解析之後,您可以使用 timeSetEvent 函式來啟動定時器事件。 此函式會傳回可用來停止或識別定時器事件的定時器標識碼。 函式的其中一個參數是 TimeProc 回呼函式的位址,該函式會在定時器事件發生時呼叫。

定時器事件有兩種類型:單一定期。 單一定時器事件會在指定的毫秒數之後發生一次。 每次指定的毫秒數經過時,就會發生定期定時器事件。 定期事件之間的間隔稱為 事件延遲。 週期性定時器事件,事件延遲為10毫秒或更少,會耗用大量CPU資源。

定時器事件解析與事件延遲長度之間的關聯性在定時器事件中很重要。 例如,如果您指定解析度為 5,且事件延遲為 100,定時器服務會在間隔範圍從 95 到 105 毫秒的間隔之後通知回呼函式。

您可以使用 timeKillEvent 函式,隨時取消作用中的定時器事件。 在釋放包含回呼函式的記憶體之前,請務必取消任何未處理的定時器。

注意

多媒體定時器會在自己的線程中執行。