Загрузка исходного HTML-документа веб-страницы из веб-браузера PIE в Windows Mobile

Нам нужно загрузить исходный HTML-документ веб-страницы в веб-браузер PIE в Windows Mobile. Исходный код, который мы пробовали, приведен ниже:

IDispatch* pHtmlDocDispatch;
IOleCommandTarget* pOleCommandTarget;
WEBVIEWLib::IPIEHTMLDocument2*         pHTMLDocument2;
WEBVIEWLib::IPIEHTMLWindow2*           pHTMLWindow;

IPIEHTMLElementCollection* pHTMLElementCollection;

hr = pWebBrowser->get_Document(&pHtmlDocDispatch);
CHR(hr);

if (pHtmlDocDispatch != NULL)
{

     hr = pHtmlDocDispatch->QueryInterface(IID_IPIEHTMLDocument2,   (void**)&pHTMLDocument2);
     CHR(hr);

hr = pHTMLDocument2->get_parentWindow(&pHTMLWindow);
CHR(hr);

pHTMLDocument2->get_innerHTML() ... oh. bugger.
}

Мы обнаружили, что метод получения innerHTML () отсутствует в версии элемента управления веб-браузером (PIE) для Windows Mobile.

Теперь, как нам получить HTML-документ из элемента управления PIE. Их возможное решение?

Спасибо, Рамананд


person Ramanand Bhat    schedule 02.12.2009    source источник


Ответы (1)


Что ж, я никогда не разрабатывал для PIE, но я достаточно хорошо знаю интерфейсы IE activeX. Если у вас есть указатель IDispatch * для элемента документа, вы сможете просто использовать интерфейсы IDispatch для получения DISPID для «innerHTML», а затем вызвать Invoke с DISPATCH_PROPERTYGET для получения значения.

Точно так же DISPATCH_PROPERTYPUT должен иметь возможность устанавливать значение, хотя следует упомянуть, что для ввода свойства вам может потребоваться также включить в него именованный аргумент с DISPID_PROPERTYPUT.

person taxilian    schedule 25.12.2009