解説
Internet ExplorerでJavascriptを切ったり、画像の表示を無効にするといった ダウンロードコントロールはInvoke()で
if(dispIdMember == DISPID_AMBIENT_DLCONTROL)
{
//ATLTRACE("DISPID_AMBIENT_DLCONTROL\n");
V_VT(pVarResult) = VT_I4;
V_I4(pVarResult) = DLCTL_DOWNLOADONLY | DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA
| DLCTL_NO_DLACTIVEXCTLS | DLCTL_NO_RUNACTIVEXCTLS;
return S_OK;
}
のようにすることで簡単に指定できる。しかし指定するだけではJavascriptを切ることが できない。設定状況を更新する必要がある。その設定の反映は以下のようにする。
CComPtrpWebBrowser2; CComPtr pOleControl; CComPtr pOleObject; CComPtr pOleClientSite; (pWebBrowser2がInternet Explorer) QueryInterface(&pOleClientSite); if(pWebBrowser2) pWebBrowser2->QueryInterface(&pOleObject); if(pOleObject && pOleClientSite) pOleObject->SetClientSite(pOleClientSite); if(pWebBrowser2) pWebBrowser2->QueryInterface(&pOleControl); if(pOleControl) pOleControl->OnAmbientPropertyChange(DISPID_AMBIENT_DLCONTROL);







