홈>
다음 코드를 사용하여 응용 프로그램에 키 입력을 보내고 있습니다 :
import win32com.client
import time
process_id = 2032 # I change this value if needed
shell = win32com.client.Dispatch("WScript.Shell")
shell.AppActivate(process_id)
shell.SendKeys('^o')
time.sleep(.5)
# more input ...
문제는 : 어느 시점에서 모든 것이 내리막으로 진행된다는 의미 : 불쾌한 결과를 초래하는 어떤 이유로 든 응용 프로그램이 중단됩니다 (얼마나 오래, 언제까지 예측할 수 없습니다!). 예를 들어 {ENTER} 명령을 통해 "확인"버튼을 클릭하는 대신 해당 키 입력이 다른 작업을 수행합니다. 그 후 모든 키 입력은 의도 한대로하지 않기 때문에 문제를 일으 킵니다. time.sleep과 win32api.sleep의 차이점은 무엇입니까? 그리고 키 입력을 보내는 응용 프로그램이 다시 안정적인 준비 상태인지 여부를 확인하는 체계적인 방법이 있습니까?
-
답변 # 1
관련 자료
- command line - AppleScript를 사용하여 클립 보드 항목이 이미지 데이터인지 감지
- 신경망을 사용하여 문서의 정보를 감지하고 인식하는 방법은 무엇입니까?
- regex - 메모장을 사용하여 #로 시작하는 줄 앞에 새 줄을 삽입하는 방법
- Union-Find 데이터 구조를 사용하여 유 방향 그래프에서주기를 감지 할 수 있습니까?
- javascript - getElementsByClassName을 사용하여 부분 텍스트 추출 ( 앞)
- python - 카드의 너비와 높이 또는 색상을 사용하여 여러 개체가있는 이미지에서 카드 감지 및 자르기
관련 질문
- python - 실시간으로 네트워크 어댑터 변경 등록
- python - pywin32를 사용하여 창이 최대화되었는지 확인하는 방법은 무엇입니까?
- winapi - win32conDT_ *의 옵션은 무엇입니까? Windows 용 파이썬은 텍스트를 그립니다
- python - xlwings 오류 - wbopen 호출시 오류가 발생하여 excel 통합 문서를 열지 않음
- python - pywintypescom_error - (-2147221008, 'coinitialize가 호출되지 않았습니다', 없음, 없음)
- winapi - 방법 - 특정 프린터에 대한 사용자 지정 프린터 기본 설정을 사용하여 python으로 pdf 인쇄 [닫기]
- winapi - 이메일을 저장할 사서함을 정의하십시오win32client 파이썬
- python + win32 - 한 excel 통합 문서의 헤더를 다른 excel 통합 문서의 맨 위에 붙여 넣기
- winapi - I/O 트랜잭션에 시간 초과를 설정하고 python/windows에서 시간 초과를 취소하는 방법은 무엇입니까?
응용 프로그램이 개발 된 경우
SendMessageTimeout
를 사용할 수 있습니다 앱 창의 응답을 확인합니다. 응답 시간이 초과되면 애플리케이션이 정지 된 것으로 간주됩니다 (준비 상태가 아님).