Появилась необходимость создать IHTMLDocument2 прям из файла HTML.
Взял за пример WALKALL с MSDN. Однако очень хотелось упростить этот пример.
Смотрим упрощенный кусок ниже. Без GetMessage(...) и DispatchMessage(...) статус документа не меняется.
Оно и понятно... Однако есть какие то косяки нверняка в таком подходе.
Тестировал на WindowsXP,ie6.0
if( 0 == MultiByteToWideChar(CP_ACP, 0, szFileName, -1, wszURL, MAX_PATH*sizeof(OLECHAR)))
return E_FAIL;
LPPERSISTFILE pPF;
// MSHTML supports file persistence for ordinary files.
if ( SUCCEEDED(hr = m_pHTML2->QueryInterface(IID_IPersistFile, (LPVOID*) &pPF)) )
{
MSG msg;
TCHAR szBuff[MAX_PATH];
CComBSTR bstrReadyState;
hr = pPF->Load(wszURL, 0);
long i=1000;
while( i-- )
{
m_pHTML2->get_readyState(&bstrReadyState);
if( bstrReadyState==_T("complete") )
break;
if( GetMessage(&msg, NULL, 0, 0) )
DispatchMessage(&msg);
}
pPF->Release();
}