Code that should work:
void CRealBrowserBHO::setResponseCode(IDispatch *pDisp)
{
HRESULT hr;
CComPtr<IDispatch> spDispDoc;
hr = m_spWebBrowser->get_Document(&spDispDoc);
if (SUCCEEDED(hr) && spDispDoc)
{
CComPtr<IHTMLDocument2> spHTMLDoc;
hr = spDispDoc.QueryInterface<IHTMLDocument2>( &spHTMLDoc );
if (SUCCEEDED(hr) && spHTMLDoc)
{
CComPtr<IHTMLElement> spBodyElmt;
hr = spHTMLDoc->get_body(&spBodyElmt);
if (SUCCEEDED(hr) && spBodyElmt)
{
CComBSTR inputElement( L"<input type='text' name='ResponseCode' value='200'/>" );
hr = spBodyElmt->insertAdjacentHTML( CComBSTR( L"beforeEnd" ), inputElement);
}
}
}
}
}