Здравствуйте, Aniskin, Вы писали:
[]
A>Честно говоря, я не понимаю вышенаписнного. Я никогда ранее не работал с интерфейсами Explorer`а, и для меня это темный лес.
A>Все что у меня есть — это хендл окна и полученные IHTMLDocument2 и IHTMLWindow2. Мне нужно из этого как-нибуть получить IWebBroser. Прямого пути нет?
1. Запрашиваете у IHTMLWindow2 интерфейс IServiceProvider c помощью QueryInterface
2. У полученного IServiceProvider запрашиваете интерфейс IWebBrowser2 с помощью QueryService.
Примерно так:
IServiceProvider* pService;
HRESULT hr = pWindow->QueryInterface(IID_IServiceProvider,(void**)&pService);
if(SUCCEEDED(hr))
{
IWebBrowser2* pBrowser;
hr = pService->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2,(void**)&pBrowser);
if(SUCCEEDED(hr))
{
// получили IWebBrowser2 в pBrowser
} // if
} // if
<< Деньги не приносят счастья, но вот то, что на них можно купить…. >>