Сейчас на форуме: asfa, _MBK_, Adler (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Определение элементов в окне локальной программы
Посл.ответ Сообщение

Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 августа 2011 19:18
· Личное сообщение · #1

Здравствуйте. В локальной проге необходимо определить текстовые поля, кнопки, дропдауны. Пробовал смотрелками AU3INFO, WinExplorer. В эксплорере вижу только имя окна, хэндл, класс, exe который его запускает и dll наверное с элементами. Более ничего. А там и текстовые поля, и кнопки и закладки и много чего еще. Подскажите, чем можно еще увидеть элементы окна? Тогда я смогу обращаться непосредственно к ним и вставлять именно в них данные, а не как сейчас клик мышки по координату и ctrl+v. class - app.epos.client.plugin.cockpit.presentation.ui.CockpitFrame. Спасибо.



Ранг: 58.1 (постоянный), 42thx
Активность: 0.060.01
Статус: Участник

Создано: 31 августа 2011 20:04
· Личное сообщение · #2

InqSoft WinScanner?



Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 31 августа 2011 20:06
· Личное сообщение · #3

valdur2000 уважаемый а вы не пробывали определить язык программирования? для начала. есди это делфя то может сильно помочь WINSPECT. но по факту ТЗ (тех задание) нету. что для чего зачем че за прога, сами хотите или чтото просите непонятно

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




Ранг: 106.6 (ветеран), 7thx
Активность: 0.040.02
Статус: Участник

Создано: 31 августа 2011 20:57
· Личное сообщение · #4

Уж не говоря про то, что контролы могут быть и "самопальные" и не чем не определяться.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 01 сентября 2011 12:05
· Личное сообщение · #5

А к фреймам оле контейнеров вообще не достучаться. Нужно ТЗ.

-----
Yann Tiersen best and do not fuck




Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 сентября 2011 22:15
· Личное сообщение · #6

Есть прога, у нее маска, в файле jpg прикрепил.происходит однопобразное заполнение полей. Делаю сие с помощью AutoIT мышкиными координатами да отправкой ctrl+v. Все вроде работает, но иногда икнет что-то и все сбивается. замучался писать реакцию на все новые и новые события и окна, которые могут появиться. хочу по-взрослому - вот тебе окно, вот поле. вставил туда данные, пртоверил, что оно заполнено, перешел на следующее. может я драматизирую и все проще, просто я этого не понимаю, тогда поправьте и направьте пожалуйста, в каком направлении далее искать. Как я понимаю, мне надо найти ControlId для каждого элемента. Инфо на картинке от AU3INFO не меняется нигде. Т.е. не видно вообще никаких полей, но поля же по tab переходят и дропдауны в них заполнены и кнопочки есть... Известен так же запускающий exe с ним стартующий dll в котором наверное что-то лежит нужное проге для работы... С уважением.

668f_01.09.2011_EXELAB.rU.tgz - Unbenannt.JPG



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 сентября 2011 22:17
· Личное сообщение · #7

InqSoft WinScanner скачал, но что-то там вообще столько всего... мне показалось, что по делу тоже самое , что и остальные проги показал.



Ранг: 5.0 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 01 сентября 2011 22:23
· Личное сообщение · #8

А по tab не получится переключаться между ячейками?..
Заполнял я похожую байду автоитом.



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 сентября 2011 22:30 · Поправил: valdur2000
· Личное сообщение · #9

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



Ранг: 5.0 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 02 сентября 2011 00:17
· Личное сообщение · #10

Так ты всё равно не сможешь сделать что-то работающее автоматически на всех версиях, если они меняют поля.



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 сентября 2011 00:27
· Личное сообщение · #11

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



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 02 сентября 2011 10:48
· Личное сообщение · #12

valdur2000 Autoit может достучатся по имени до ограниченного числа/класса контролов. Т.ч. либо терпи, либо пиши свою автокликалку - занятие интересное, но трудное.
Если что-то не срабатывает в autoit - обычно помогает манипуляции с величиной паузы на sleep и бывают места где надо ставить 2 sleep - обычный и автоитовский. Я писал на Дельфи и использовал DLL от автоит.



Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 сентября 2011 13:24
· Личное сообщение · #13

tundra37 Кликалку на AutoIt написал работает фактически без вопросов, но вот прога часто обновляется и в интерфейс добавляется например один ненужный радиобаттон. мелкая козявка , но из-за нее сдвигается коодринат какого-нибудь нужного текстового поля и пипец... а через три недели после очередного обновления радиобаттон пропадает...и пипец номер два.. Может там прозрачное окно все закрывает... Может попробовать типа распознавалки капчи написать, что б прога искала на экране текстовые поля и дропдауны?



Ранг: 3.1 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 02 сентября 2011 13:30 · Поправил: testprogs
· Личное сообщение · #14

valdur2000

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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 02 сентября 2011 15:40
· Личное сообщение · #15

Там UIFrame используется, обычными сканерами туда не достучаться. Самый лучший сканер увидит максимум 3 контейнера вложенных друг в друга, для этого вида UI MS использует специальные недокументированные API, которые они один раз таки спалили в серверных тулзах для Win2000, но времени конечно много утекло.

-----
Yann Tiersen best and do not fuck




Ранг: 1.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 02 сентября 2011 16:07
· Личное сообщение · #16

PE_Kill А вывод какой, человеческими методами не пробиться туда и точка? Забыть и все? Но где-то же хранится эта инфа?


 eXeL@B —› Вопросы новичков —› Определение элементов в окне локальной программы
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати