Получение загруженной веб-страницы исходного документа HTML из веб-браузера PIE в Windows Mobile - PullRequest
1 голос
/ 02 декабря 2009

Нам нужно получить исходный документ 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 () отсутствует в версии Windows Mobile для элемента управления веб-браузера (PIE).

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

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

1 Ответ

1 голос
/ 25 декабря 2009

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

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

...