Пишется BHO.
В окне IE имеется открытая HTML-страница. В этой странице программно ищется нужная ссылка и имитируется клик по ней. Примерно так, как показано во фрагменте кода.
CComQIPtr<IHTMLWindow2> pWindow;
CComQIPtr<IHTMLDocument2> pDoc;
// Здесь получаем pWindow и pDoc
. . .
// Получаем коллекцию ссылок
CComPtr<IHTMLElementCollection> pLinksColl;
pDoc->get_links(&pLinksColl);
// Здесь выбираем нужную ссылку
. . .
CComPtr<IDispatch> pDispLink;
pLinksColl->item(ItemIndex, Empty, &pDispLink);
. . .
CComQIPtr<IHTMLAnchorElement> pLink = pDispLink;
. . .
// Здесь имитируем клик по ссылке
ComQIPtr<IHTMLElement> pElLink = pLink;
pElLink->click();
. . .
По условиям задачи ссылка открывается в новом окне, свойство target элемента Anchort имеет значение _blank и менять его нельзя, т.е. нельзя открыть ссылку во фрейме.
Необходимо обработать этот открываемый в новом окне документ и после обработки закрыть окно. Другими словами, требуется получить интерфейс IHTMLWindow2 или IHTMLDocument2 для нового окна. Как это можно сделать?