Частично упростить распознавание может помочь знание о том, какие окна бывают у запускаемых программ (например, если какое-то окно всегда одного и того же размера, определить, что это оно на экране, и где в нём что, проще, чем если оно может быть разного, и его элементы переезжать туда-сюда)
Тоже думал об этом, но к счастью при открывании окон они всегда раскрываются неизменных размеров в неизменном положении относительно других элементов интерфейса.
и как делать «сброс», когда ситуация вышла из-под контроля (представьте себе, что вы или кто-то ещё понажимали кнопок на пульте телевизора, в котором не разбираетесь, и вам надо вернуться к какой-то точке, с которой вы умеете начинать (обычно есть кнопка return, а здесь часто может помочь Esc или Alt-X)).
В данном случае программ просто останавливается и сигнализирует об этом. Тут все понятно.
Основная загвоздка – это определиться инструментом распознавания текста с монитора...