[winapi] получить данный из интерфейса сторонней программы

ALeo
Дата: 02.10.2014 22:56:25
Добрый день, есть у меня задача получать в моей программе данные из интерфейса другой программы. С winapi до этого почти не сталкивался. Приложение пишу на c++. В качестве примера приведу скриншот со spy++ и калькулятором:

Картинка с другого сайта.

Как я понял далеко не из каждого элемента можно "выдрать" текст. Например из строки с введенными цифрами в калькульяторе не получается. Как еще можно получить текст? Взять картинку из области с интересующим элементом и распознать текст нейронкой?

Мне надо чтобы можно было в моем приложении один раз указать элемент стороннего приложения, и затем каждый раз после перезапуска стороннего приложения, находить этот элемент.

Подскажите плз. куда надо копать чтобы выполнить задачу.
MasterZiv
Дата: 03.10.2014 10:57:57
ALeo,

это невозможно. почти невозможно. 99%
mayton
Дата: 03.10.2014 12:15:04
ALeo
Как я понял далеко не из каждого элемента можно "выдрать" текст. Например из строки с введенными цифрами в калькульяторе не получается. Как еще можно получить текст? Взять картинку из области с интересующим элементом и распознать текст нейронкой?

Мне надо чтобы можно было в моем приложении один раз указать элемент стороннего приложения, и затем каждый раз после перезапуска стороннего приложения, находить этот элемент.

Подскажите плз. куда надо копать чтобы выполнить задачу.

Вобщем размах этого костыля поражает.

Если ты автоматизируешь тестирование GUI какого-то приложения то такой подход имеет место
быть. Но лучше для начала глянуть то что уже разработано. Для автоматизации.

Если ты хочешь поюзать калькулятор таким образом - то гореть тебе в аду стыд и позор тебе. Так не делают.
Во много раз легче написать свой собственный калькулятор чем городить костыль на костыле.

P.S. Вобщем посмотри на досуге картины Иеронима Босха. Где он рисует Hell...
MasterZiv
Дата: 03.10.2014 12:21:37
mayton,
естественно калькулятор он использует только для тренировки
mayton
Дата: 03.10.2014 12:23:00
Про "нейронку" понравилось. Так вот сходу. Из пушки по птичкам.
Dima T
Дата: 03.10.2014 12:29:16
Почитай про FindWindow() Может поможет
Dima T
Дата: 03.10.2014 12:31:27
mayton
Дата: 03.10.2014 12:36:19
Наверное запуск двух калькуляторов станет "тонким" троллингом....
ALeo
Дата: 03.10.2014 13:55:31
mayton,

как выше уже написали, калькулятор для тренировки и примера. Если есть сложное стороннее приложение без исходников и api, написать свою реализацию вообще не вариант. Да и надо-то получать цыферки только из одного поля. Понимаю что решение костыльное, но за неимением вариантов почему бы и нет.
ALeo
Дата: 03.10.2014 13:56:57
mayton,

ну с нейронками я хотябы знаком, и знаю как реализовать, посоветуете другие более удобные способы распознавания?