Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получение url фрейма веб странички.

49K
27 августа 2009 года
Dm1try
4 / / 20.06.2009
Веб страница с несколькими фреймами загружена в элемент ActiveX WebBrowser Control с идентификатором IDC_EXPLORER1 и переменной m_browser. URL основного фрейма получить достаточно просто при помощи метода m_browser.get_LocationURL(), а вот с получением URL не основного фрейма возникли сложности.

Может ли кто-то подсказать как получить url или html - код заданного фрейма веб странички? Имя нужного фрейма находиться в переменной CComVariant vFrame("targetframe");

Пробовал воспользоваться примером из MSDN:

BSTR *hcode;
IHTMLWindow2 *pWin;
IHTMLFramesCollection2* pFramesCol;

HRESULT hr = pWin->get_frames(&pFramesCol);
if (SUCCEEDED(hr))
{
VARIANT frameRequested;
VARIANT frameOut;

frameRequested.vt = VT_I4;
frameRequested.pvarVal = &vFrame; //Указываем имя фрейма.
//frameRequested.vt = VT_BSTR;
//frameRequested.bstrVal = x;

hr = pFramesCol->item(&frameRequested, &frameOut);
if (SUCCEEDED(hr))
{
IHTMLWindow2* pRightFrameWindow = NULL;
hr = V_DISPATCH(&frameOut)->QueryInterface(IID_IHTMLWindow2,
(void**)&pRightFrameWindow);
if (SUCCEEDED(hr))
{
IHTMLDocument2* pRightDoc;
hr = pRightFrameWindow->get_document(&pRightDoc);
if (SUCCEEDED(hr))
{
// Use the document
pRightDoc->get_URL(hcode); // получаем URL фрейма?

pRightDoc->Release();
}
pRightFrameWindow->Release();
}
}
pFramesCol->Release();
m_text.SetWindowTextA(LPCTSTR(&hcode)); // Полученный URL фрейма выводится в текствое поле.
}

Однако ввиду того, что я имею только общие представления о работе интерфейсов и COM - объектов, не знаю как связать данный код с объектом WebBrowser.

При вызове данного кода программа прерывается и появляется сообщение: " An unhandled exception of type 'System.NullReferenceException' occurred in AIv2.exe. Additional information: В экземпляре объекта не задана ссылка на объект. "

Буду признателен за любую помощь.
49K
28 августа 2009 года
Dm1try
4 / / 20.06.2009
Проблема решилась, я вручную нашел этот URL :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог