16:18

сабж со стажем
есть программа для обнаружения окон и нажатия кнопок в них?

а то есть у меня одна программа, которая должна работать автоматически, но она постоянно выдаёт окно в котором надо нажать "ок". с автором программы связаться и объяснить ему что это тупо не получается, потому что это прога одна из тысячи с какого-то сайта где лежат куча программ на все случаи жизни, и пишут их такое впечатление что code monkeys или как их там называют за еду. прикольно было бы если бы другая программа следила не появилось ли это сообщение и сама жала на ок.

Комментарии
04.11.2015 в 17:39

Shok ebasit hissra. Meraad astaarit, meraad itwasit, aban aqun. Maraas shokra. Anaan esaam Qun.
О готовых программах не знаю, сам реализовал такое с помощью AutoIT. Час возни, скрипт в десять строк - и программа не только жмякает на кнопку в окне, но и не забирает при этом фокус. Если хотите - можете попробовать.
04.11.2015 в 17:41

сабж со стажем
спасибо....................... а скриптом не поделитесь?
04.11.2015 в 18:31

Shok ebasit hissra. Meraad astaarit, meraad itwasit, aban aqun. Maraas shokra. Anaan esaam Qun.
Если найду... я им двери на прошлой работе открывал. Там стоял электронный замок, и нужно было передать нажатие в программу, которая могла им управлять. Там была еще обвязка для горячей клавиши, я вам дам только то что нужно:

ControlClick("[CLASS:TKomendantMonitor]", "", "[CLASS:TToolBar; INSTANCE:2]", "left", 1, 70, 19)
ControlSend("[CLASS:TKomendantMonitor]", "", "[CLASS:TToolBar; INSTANCE:2]", "{DOWN} & {ENTER}")

Где CLASS:TKomendantMonitor - это класс окна. Позволяет отличать одно окно от другого. Узнать можно с помощью утилиты Control Viewer
CLASS:TToolbar - вторичное окно, вам скорее всего не понадобится.
У AutoIT есть возможность искать кнопку по ее названию или местоположению, я делал иначе - слал нажатия клавиш.

Почитать описание ControlClick и ControlSend все равно придется :)
04.11.2015 в 18:33

сабж со стажем
спасибо =)