Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> winapi + html автоматизировать. Автоматический ввод данных в форму. 
:(
    Опции темы
Bugmaker
Дата 9.11.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Здравствуйте.
Подтолкните в нужном направлении.
Задача: есть некая веб страница, с нее надо взять определенный текст и вставить его в inputbox на той же странице.
Пока идеи следующие:
сохраняем страницу на винт, ищем по тегам нужнууу ее часть, читаем текст, на winapi ищем хендл inputbox'a и вставляем туда текст.

Кто занмался чем-то подобным? 
Может быть можно както сравнить изображение на экране с заранее сделанным скриншотом и установить курсор на нужную область в зависиимости от отклонения изображений... или еще что-то... вобщем любые идеи приветствуются.

Спасибо.

PM MAIL   Вверх
jonie
Дата 9.11.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



ужас. javascript внедрите на страницу и не парьте нам мозг. Например плагином greasemonkey для Firefox (аналогичные плагины есть и для других браузеров)


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
borisbn
Дата 9.11.2010, 18:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 6
Всего: 135



Цитата(Bugmaker @  9.11.2010,  17:22 Найти цитируемый пост)
на winapi ищем хендл inputbox'a

Насколько я понял: ты предлагаешь запускать browser и делать что-то в его окне.
Такого велосипедища ещё не приходилось видеть. 
Почитай лучше про post-запросы

Это сообщение отредактировал(а) borisbn - 9.11.2010, 18:29


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Bugmaker
Дата 10.11.2010, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



borisbn примерно это я и предлагаю.
post-запросы не помогут. Допустим сайт на flash.
PM MAIL   Вверх
GremlinProg
Дата 10.11.2010, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(Bugmaker @  10.11.2010,  11:56 Найти цитируемый пост)
Допустим сайт на flash

Цитата(Bugmaker @  9.11.2010,  19:22 Найти цитируемый пост)
сохраняем страницу на винт, ищем по тегам нужнууу ее часть, читаем текст

что-то явно не сходится,
если сайт на flash, что можно извлечь из такой страницы embed? smile 


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
Bugmaker
Дата 10.11.2010, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Нагуглил такой вариант:
1) ищем hwnd окна игры;
2) считываем из него графику;
3) по пикселям находим нужный элемент;
4) по найденым координатам эмулируем щелчек мышью командой PostMessage

Пытаюсь снять скриншот браузера.

"
Сперва создать контекст устройства в памяти. Этот контекст будет использоваться для хранения изображения. Создается контекст путем вызова функции CreateCompatibleDC. После создания контекста устройства требуется получить размер окна, путем вызова функции GetWindowRect, это потребуется для задания размеров будущему изображению. 

HDC hDCMem = CreateCompatibleDC(NULL); 
RECT rect; 
GetWindowRect(hWnd, & rect); 
Далее нам потребуется дескриптор изображения в котором мы сохраним содержимое окна HBITMAP hBmp. Путем получения контекста устройства окна, мы создаем изображение соответствующее размеру окна.
"


Код

HDC hDCMem = CreateCompatibleDC(NULL); 
RECT rect; 
HWND hWnd;
GetWindowRect(hWnd, & rect);



Получаю ошибку:  [Linker error] undefined reference to `CreateCompatibleDC@4' 
Какие-то библиотеки надо подключить?


PM MAIL   Вверх
xvr
Дата 10.11.2010, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Bugmaker @  10.11.2010,  16:02 Найти цитируемый пост)
Нагуглил такой вариант:
1) ищем hwnd окна игры;
2) считываем из него графику;
3) по пикселям находим нужный элемент;
4) по найденым координатам эмулируем щелчек мышью командой PostMessage
Оо!  smile 
А это -
Цитата(Bugmaker @  9.11.2010,  17:22 Найти цитируемый пост)
 с нее надо взять определенный текст и вставить его в inputbox на той же странице.
видимо предполагается делать встроенным распознавателем текста?  smile 


PM MAIL   Вверх
Bugmaker
Дата 10.11.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 27.6.2008

Репутация: нет
Всего: нет



Предполагается искать допустим заранее заготовленную картинку с данным текстом.
Что-то критики полно а конструктива никакого... хоть на хакер.ру иди, там бы хоть смешно было.
PM MAIL   Вверх
xvr
Дата 10.11.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Bugmaker @  10.11.2010,  17:53 Найти цитируемый пост)
Что-то критики полно а конструктива никакого...
Это форум программистов, а не форум мазохистов. Какого конструктива можно ждать на такую задачу?  smile 

По теме уже предлагали - внедрить JS, еще можно через DOM и COM интерфейс браузера (для IE)


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.