原文及更多內容:http://yysource.sourceforge.net/?p=91
一開始的想法是用 CreateWaitableTimer 和 SetWaitableTimer 設置一個定時器,要求每500毫秒報時一次。
代碼中用
代碼1:while (WaitForSingleObject(hTimer, INFINITE) == WAIT_OBJECT_0){...}
來等待定時器。
其中 CreateWaitableTimer 函數有些需要說明的地方。bManualReset 這個參數的作用,決定了定時器是人工重置的,還是自動重置。
如果是設爲TRUE,那麼只要第一次被激活後,以後不論何時,代碼1中 WaitForSingleObject 返回的結果都是 WAIT_OBJECT_0。
如果設爲FALSE,那麼第一次激活後,立刻失效,以後每隔500毫秒纔會被激活一次,即,代碼1中 WaitForSingleObject 每隔500毫秒纔會返回一次 WAIT_OBJECT_0 。