21. [pywin32] WaitForInputIdle 함수
pywin32/win32event2020. 10. 5. 00:30
int = WaitForInputIdle(hProcess, milliseconds )
WaitForInputIdle은 특정 프로세스가 만들어지고 완전히 초기화가 될 때까지 대기하는 함수입니다.
인자로는 hProcess : PyHANDLE, milliseconds : int 가 있습니다.
hProcess: 프로세스의 핸들값입니다.
milliseconds: 정한 시간 만큼만 대기하고, 시간이 지나면 타임 아웃이 발생합니다.
- win32event.INFINITE: 대기 시간을 무한으로 설정합니다.
return 값: 프로세스가 준비가 되었는지 타임 아웃이 일어났는지 알려줍니다.
- 0: 프로세스 준비 완료
- win32event.WAIT_TIMEOUT: 타임 아웃
import win32event
import win32process
import win32con
prog = ".\\notepad.exe"
# 프로그램 경로
pinfo = win32process.STARTUPINFO()
pHandle = win32process.CreateProcess(prog, None, None, None, win32con.FALSE, \
win32con.CREATE_NEW_CONSOLE, None, \
None, pinfo)
x = win32event.WaitForInputIdle(pHandle[0], 1000)
if x == 0:
print("ready\n")
elif x == win32event.WAIT_TIMEOUT:
print("time out\n")
현재 경로의 메모장을 실행시키는 프로세스를 생성 후 WaitForInputIdle 함수를 통해 1초만 기다립니다. 1초 안에 프로세스가 초기화가 완료된다면, ready가 출력됩니다. 만약 1000 을 더 빠르게 설정한다면, 타임 아웃도 보실 수 있습니다.
반응형
'pywin32 > win32event' 카테고리의 다른 글
20. [pywin32] WaitForMultipleObjectsEx 함수 (0) | 2020.09.24 |
---|---|
19. [pywin32] WaitForSingleObjectEx 함수 (0) | 2020.09.23 |
18. [pywin32] WaitForMultipleObjects 함수 (0) | 2020.09.22 |
17. [pywin32] ReleaseSemaphore 함수 (0) | 2020.09.21 |
16. [pywin32] OpenSemaphore 함수 (0) | 2020.09.20 |
댓글()