6. [pywin32] ResetEvent 함수
pywin32/win32event2020. 8. 31. 00:48
ResetEvent(hEvent)
이벤트를 리셋 시키는 함수입니다.
인자로는 hEvent : PyHANDLE 가 있습니다.
hEvent: 리셋시킬 이벤트 핸들입니다. 보통 OpenEvent 함수의 리턴값을 사용합니다.
이 함수를 실험하기 전에 WaitForSingleObject 함수의 예제를 아래와 같이 바꾸고 실행시켜 줍니다.
import win32event
import win32con
import win32api
evtHandle = win32event.CreateEvent(None, win32con.TRUE, win32con.TRUE, "eventTest")
while True:
x = win32event.WaitForSingleObject(evtHandle, 3000)
if x == win32event.WAIT_OBJECT_0:
print(f"signaled #1")
elif x== win32event.WAIT_TIMEOUT:
print(f"time out")
break
win32api.CloseHandle(evtHandle)
이벤트 초기 상태를 셋트하고, 자동 리셋을 해제 시켜서 signaled #1이 무한 실행될 것입니다.
그리고 아래의 ResetEvent 예제를 실행시켜 봅시다.
import win32event
import win32con
import win32api
evtHandle = win32event.OpenEvent(win32event.EVENT_ALL_ACCESS, win32con.FALSE, "eventTest")
win32event.ResetEvent(evtHandle)
win32api.CloseHandle(evtHandle)
아래와 같이 signaled #1이 무한 발생하다가 이벤트를 리셋시키는 순간 정지됩니다. 그 후 3초(3000ms)가 지나면 타임 아웃이 걸립니다.

반응형
'pywin32 > win32event' 카테고리의 다른 글
| 8. [pywin32] CreateWaitableTimer 함수 (0) | 2020.09.09 |
|---|---|
| 7. [pywin32] PulseEvent 함수 (0) | 2020.08.31 |
| 5. [pywin32] SetEvent 함수 (0) | 2020.08.31 |
| 4. [pywin32] OpenEvent 함수 (0) | 2020.08.31 |
| 3. [pywin32] WaitForSingleObject 함수 (0) | 2020.08.31 |
댓글()








