Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Работа с Internet Explorer_Server Добавлено: 11.02.07 16:27  

Автор вопроса:  alenk
Всем привет!
У меня довольно необычная задача.
Пишу программу, которая должна получить HTML-код со странички, открытой в браузере IE, и изменить его на другой (заменить все нецензурные слова).
С самой заменой текста сложностей нету. Сложности у меня с получением этого HTML-кода и соответственно с его последующей записью в это же окно браузера.
Класс и хэндл окна я получить могу. Но как с ними работать?
WinSpy показывает класс окна IE - Internet Explorer_Server. Я нашла примеры где с ним работают, но там слишком все сложно. Неужели нет никаких API-шных функций, что бы получить текст окна. Я просто не могу понять, что именно нужно получать... Явно не Caption...

Ответить

  Ответы Всего ответов: 18  

Номер ответа: 1
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #1 Добавлено: 11.02.07 18:31
Ну, эт явно неправильный способ. Во-перых никто не говорит, что если браузер - то IE, тем более у разных версий - разные классы окна. Окна IFRAME внутри страницы вообще имеют отдельные хэндлы.
Есть другой метод решения проблемы фильтрации мата. Необходимо написать локальный прокси-сервер, который будет просматривать траффик помеченный как html или text и фильтровать внутри эти слова. По-моему легче всего это сделать на Perl, однако вам виднее.
зы Программисты - девушки еще существуют?

Ответить

Номер ответа: 2
Автор ответа:
 alenk



Вопросов: 1
Ответов: 4
 Профиль | | #2 Добавлено: 11.02.07 21:03
Ну конечно :)
Куда проще написать локальный прокси-сервер на перле, нежели чем прочитать хэндл окна :))
Ну а если серьезно, то я же прошу всего лишь подсказать как осуществляется чтение/запись в окно, зная хэндл и класс. А там уж я под Оперу и ФФ сама разберусь...
Ведь если не ошибаюсь другие браузеры, использующие движок ИЕ, имеют у окна тот самый класс Internet Explorer_Server...

Fever, программисты-девушки существуют. Но для меня программирование это всего лишь хобби ))

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 12.02.07 19:27
Опера и ФФ не используют движок IE :)

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 13.02.07 01:02
И зная хендел врядли можно добраться до элементов/текста :) IE, нужно работать с объектной моделью через COM интерфейсы... вообщем не всё так просто. Из за разных браузеров наверное действительно проще на лету редактировать http трафик...

Ответить

Номер ответа: 5
Автор ответа:
 alenk



Вопросов: 1
Ответов: 4
 Профиль | | #5 Добавлено: 13.02.07 11:27
Sharp, ну там я думаю будет все аналогично )
Мне бы хотя бы под IE написать...
У меня есть код где текст, который просто выделяют мышкой в IE, сразу попадает в программу... Но там все сложно... Я видела примеры кода где все достаточно просто. Но там с caption работают.

Hacker, так ведь хэндл есть только у окна с текстом (HTML) и у ComboBox'ов. Не представляю если честно как через COM интерфейсы работать...

Так что вопрос все еще в силе ;)

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 13.02.07 12:14
В сторону хенделов копать безполезно, ну найдёш ты дискриптор самого WebBrowser'a в нужном тебе окне, получить через этот дескрипор содержимое думаю практически невозможно... IE имеет COM сервер, к которому можно подключится и управлять IE из любого приложения. Пример вроде назывался "Astere" или как-то так, вообщем в нём демонстрировалось как текст скрытый за звёздочками в IE доставать... Когда буду дома могу пример скинуть, если к тому времени сама не найдёшь

Ответить

Номер ответа: 7
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #7 Добавлено: 13.02.07 13:56
Всеже универсальным решением для всех браузеров будет написать что-то вроде фаервола :) Или найти уже готовый с возможностью блокировки рекламмы по ключевым словам (вроде как Аутпост это может)

Ответить

Номер ответа: 8
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #8 Добавлено: 13.02.07 18:19
написать что-то вроде фаервола

А как ты собираешься реализовать фаервол без прокси сервера? Перехват API? Или может еще что попроще?
Sharp, ну там я думаю будет все аналогично )

Что там будет аналогично(если не секрет)? И вообще, тут не флудеры сидят(кажется), если сказали что это бесперспективняк, то скорее всего это так и есть?
Короче: берем WinSock Control, ставим на какой-нить порт, и перехваченный из браузера траффик просматриваем на наличие лексем <HTML> и </HTML>. Все, что между ними просматриваем на матные слова, заменяем на звездочки, пускаем назад в браузер. Усе.
У меня есть код где текст, который просто выделяют мышкой в IE, сразу попадает в программу...

Можно поподробнее? Хотя я уже догадываюсь как он работает - ловит MouseDown и MouseUp для окна и копирует текст в буфер обмена.
зы Случаем не блондинка? ;)

Ответить

Номер ответа: 9
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #9 Добавлено: 13.02.07 18:20
echo "Hello word :)))";
Я в профиль заглянул :)

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 13.02.07 19:58
Неудобство будет заключаться в том, что придётся каждый браузер настраивать на свою проксю... Но в принципе, это не смертельно...

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 13.02.07 20:09
Наиболее простой и переносимый вариант - WinPCap и никакого прокси не надо.
С Оперой и ФФ так же не получится, поскольку они, если я не ошибаюсь, не реализуют COM-интерфейс или не открывают его сторонним программам.
Если не нравится вариант со сниффингом, можно использовать BHO (для IE) и расширения для FF. В Опере, афаик, можно использовать виджеты.

Ответить

Номер ответа: 12
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #12 Добавлено: 14.02.07 13:09
WinPCap

Это тот, который NMap использует?

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 14.02.07 14:56
Его много кто использует

Ответить

Номер ответа: 14
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #14 Добавлено: 14.02.07 15:49
А вариант с использованием в IE встроенным матофильтром не рассматривали? (IE > Сервис > Св-ва обозревателя > Содержание > Включить)
Я не пробовал, но может его не зря сделали? Хотя... MS.

Еще мысля есть. Реализовать замену матов прямо в загруженном EXE (iexplore.exe, opera.exe и т.п.) по принципу ArtMoney, но это уже чисто абстрактная мысль :)

Ответить

Номер ответа: 15
Автор ответа:
 alenk



Вопросов: 1
Ответов: 4
 Профиль | | #15 Добавлено: 15.02.07 11:44
Fever, - как писали на башорге: НЕТ, БРЮНЕТКА ))
Вот ссылочка на тот код - http://www.vbnet.ru/forum/show.aspx?id=36776

Sharp, - WinPCap... очень интересно. Посмотрю. Спасибо.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам