Здравствуйте! У меня есть интерфейс IWebBrowser2, используя его я могу получить по цепочке следующие интерфейсы: IWebBrowser2-> IHTMLDocument2-> IHTMLElementCollection-> IHTMLElement-> IHTMLImgElement, из интерфейса IHTMLImgElement я могу получить различные параметры картинки, но не могу получить саму загруженную картинку. Как вариант использовал следующий код для получения картинки: IOleCommandTarget* pCT; CComVariant vGlyphTableEntry; vGlyphTableEntry = "c:\\temp.jpg"; if (pElemDispatch->QueryInterface(__uuidof(IOleCommandTarget), (void**)&pCT)==S_OK) { pCT->Exec(&CGID_MSHTML, IDM_SAVEPICTURE , OLECMDEXECOPT_DONTPROMPTUSER ,&vGlyphTableEntry, 0); pCT->Release(); } Но этот пример показывает диалоговое окно “сохранить как”, хотя, исходя из параметров не должен. Посоветуйте, как можно еще получить картинку? Просьба не предлагать функцию URLDownloadToFile, т.к. она не во всех случаях работает, например, эта функция не сохранит картинку, если требуются Куки для получения картинки.
Как получить битмап не знаю. Но в качестве альтернативы предлагаю FindFirstUrlCacheEntry вместо URLDownloadToFile, чтобы найти картинку в кеше.
Это если в кеше она есть, но такое бывает не всегда, не все картинки кешатся, спасибо за предложение.
да ну, в кеше она всегда будет, другой вопрос что может быть недоступна через FindFirstUrlCacheEntry или удалиться после закрытия браузера. поищи на codeproject, там такое было с граблями типа перехвата диалога 'сохранить как'.