11. [pywin32] SetWaitableTimer 함수

pywin32/win32event|2020. 9. 12. 00:22

SetWaitableTimer(handle, dueTime, period, func, param, resume_state)

 

대기 타이머를 셋트 시키는 함수입니다.

 

인자로는 handle : PyHANDLE, dueTime : long, period : int, func : object, param : object, resume_state : bool 가 있습니다.

 

handle은 셋트할 타이머의 핸들 값으로 OpenWaitableTimer의 반환값을 사용하겠습니다.

 

dueTime은 타이머의 시작 시간으로 그냥 숫자 입력 시 절대 시간, 마이너스 입력 시 상대 시간을 나타냅니다. 단위는 ns(나노세컨드)단위입니다.

 - 절대 시간의 경우, 아직 제가 사용법을 잘 모르겠네요....

 

period는 타이머의 주기로 ms(밀리세컨드)단위입니다.(0일 경우 한번만 실행됩니다.)

 

func는 None으로 하셔야 합니다.

 

param은 None으로 하셔야 합니다.

 

resume_state은 TRUE일 경우, 타이머가 셋트 될 때 절전모드에서 복구된다고 하는데 잘 모르겠습니다... 저는 FLASE로 두고 사용하겠습니다.

 

import win32event
import win32con
import win32api

evtHandle = win32event.OpenWaitableTimer(win32event.EVENT_ALL_ACCESS, win32con.FALSE, "timerTest")

dt = -30000000
win32event.SetWaitableTimer(evtHandle, dt, 1000, None, None, win32con.FALSE)

win32api.CloseHandle(evtHandle)

위의 예제는 CancelWaitableTimer 함수의 예제를 실행시킨 후 파이썬을 하나 더 실행시켜서 해보셔야 합니다.

 

[pywin32/win32event] - 10. [pywin32] CancelWaitableTimer 함수

실행 결과, 타이머가 3초 후 5번 실행되고 종료됩니다.

 

 

 

 

 

반응형

댓글()