Я использую следующий код для отправки нажатий клавиш в приложение:
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?И есть ли систематический способ проверить, находится ли приложение, которому я отправляю нажатия клавиш, снова в стабильном состоянии готовности?