Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Как перехватить клики в IE?   Найти похожие ветки 

 
kukuikar ©   (2004-09-13 13:17) [0]

Как перехватить клики в IE?


 
Vitaly ©   (2004-09-13 13:25) [1]

navigate?


 
kukuikar ©   (2004-09-13 13:28) [2]

чуть более пожробно, если несложно...


 
Ihor Osov'yak ©   (2004-09-13 14:13) [3]

2 [1] Vitaly ©   (13.09.04 13:25)

неа.

2 [2] kukuikar ©   (13.09.04 13:28)

Хотелось бы ошибиться, но судя по Вашей реплике, эта проблема для вас рановата..
Если же я ошибаюсь - то проблему можно решить тремя способами (если буквально понимать Ваш вопрос, то есть все же клики, а не попытку к навигации, как следствие кликов)...

1. Подписка на нотификацию от IHtmlDocument2, я имею ввиду HTMLDocumentEvents2::onmousedown Event, техника подробно описана в MSDN и не только

2. Можно делать подписку на нотификацию от IHTMLElement, а именно HTMLElementEvents::onclick Event, но проблема в том, что эти элементы подгружаются-выгружаются, их много, поэтому на практике этот способ мало пригоден. Реально можно попытатся поставить перехват на вызов методов соотв. интерфейса, но этот способ я не прорабатывал - посему перспективность его не буду гарантировать + это немного из области недокументированных решений. Что не всегда есть хорошо.

3. Перехват виндозных сообщений к окну, хостящему обьект, который предоставляет IWebBrowser2.. В отличие от способа 1 немного напоминает лазание в окно для случая наличия незапертой двери.


 
kukuikar ©   (2004-09-13 14:44) [4]

да, неправильнй вопрос - неправильный ответ.
Хочу перехватывать клики по ссылкам в ИЕ.


 
Ihor Osov'yak ©   (2004-09-13 15:50) [5]

есть подозрение, что Вам все же нужно перехвачивать начало навигации от кликов по ссылкам, то есть результат самих кликов, а не клики.. ..

Если это так - см. BeforeNavigation2 и NewWindow2 для DWebBrowserEvents2 + подписка на получение этой нотификации,
или как частный случай  - OnBeforeNavigation2 и OnNewWindow2  для TWebBrowser. Если  все же интересует нотификация от внешнего IE - то алгоритм примерно таков - по хендлу окна клиентской области ИЕ можно получить IHTMLDocument2, от него получаем IWebBrowser2, имея в руках IWebBrowser2 можно сделать подписку на нотификацию согласно DWebBrowserEvents2...
Более подробно на эту тему не пишу, так как не понятно - нужно ли Вам все же этот вариант...

Если все же клики - то см. [3]

Зы. Ссылки могут быть не только ведущие к навигации, а вызывающие всякие алерты и тп.. Для контроля за результатами кликов по таким видам ссылок - нужно обратить внимание на IDocHostUIHandler, как пример реализации - TEmbedвedWB - см. http://www.euromind.com/iedelphi


 
Ihor Osov'yak ©   (2004-09-13 15:53) [6]

в общем-то работа с интерфейсами IE довольно подробно описана в мсдн, я Вам набросал много "ключевых" слов - попытайтесь сделать поиск по ним. Или разберетесь сами, или сможете более внятно сформулировать вопрос.


 
kukuikar ©   (2004-09-13 15:59) [7]

спасибо, разобрался.


 
ЮрийК ©   (2004-09-13 20:08) [8]

А такой вопрос, в броузере рисуется джава-окно, в этом окне есть например линк, кнопка и т.д. Как возможно эмулировать программно клик на соответствующий элемент в окне? Возможно ли?



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-1094842794
МЯУ
2004-09-10 22:59
2004.09.26
ООП


4-1092800776
FastByte
2004-08-18 07:46
2004.09.26
Имя пользователя


3-1093597568
stud
2004-08-27 13:06
2004.09.26
при попытке выполнить запрос выскакивает сообщение


4-1092735230
surkis
2004-08-17 13:33
2004.09.26
Cлужбы и БД


4-1092209852
CHEK
2004-08-11 11:37
2004.09.26
APIHOOKS