Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как програмно заблокировать pop-up окна?


leonidus ©   (2004-10-01 14:03:00) 

Пишу программку для блокировки pop-up окон в Internet Explorer`e, но столкнулся с проблемой как перехватить клик по ссылке в окне IE, т.е.  вытинуть URL ссылки по которой делаеться клик?
Может кто-то сталикивался - пожалуйста подскажите, очень надо!!!


Ihor Osov'yak   (2004-10-02 14:06:00) [1]

2 Как програмно заблокировать pop-up окна?

Зачем? Снова велоситед изобретаем?

По существу.
Смотрите в сторону BHO (browser helper object). Там легко получаем в руки IWebBrowser2 от любой интстанции IE. Далее подписка на  соотв. нотификационный интерфейс, с его BeforeNavigate, NewWindow, etс..

Правда, при таком подходе  на уровне NewWindow трудно отличить результатом чего появляется новое окно - результат клика юзера, или результат срабатывания  какого-то скрипта.. Более радикальным есть перехват IHtmlWindow2.Open - собственно по линии  этого метода почти всегда идут попапы и почти никогда - результат клика по ссылке. Во всяком случае на нормальных сайтах. Ну и преимузество здесь то, что при перехвате IHtmlWindow2.Open сразу имеем в руках урл, а при работе на уровне NewWindow будет немного проблема с получением урл..


Dimaxx   (2004-10-02 12:57:00) [2]

Ставь СП2 на ХРюшу - там уже мелкософт все сделал для закрытия.


leonidus   (2004-10-01 21:08:00) [3]

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


gid   (2004-10-01 14:58:00) [4]

Ищи окна в системе и сравнивай их заголовоки со списком запрещенных или с размерами, а затем просто закрывай если совпадет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо