Главная страница
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.028 c
14-1094114975
Knight
2004-09-02 12:49
2004.09.26
Кто-нибудь сам мониторы фокусировал?


3-1093583719
Desperado
2004-08-27 09:15
2004.09.26
ошибка в IBAlloc


3-1093709094
Floppy
2004-08-28 20:04
2004.09.26
Поле "Char" в таблице Access?


4-1092400756
PL
2004-08-13 16:39
2004.09.26
Управление чужим окном на более сложном уровне


6-1090422982
Kapitan
2004-07-21 19:16
2004.09.26
пользователь на удаленном компьютере