HTMLマルチメディア・セキュリティ制御の仕方
HTMLマルチメディア・セキュリティの制御の仕方については、なぜか、あまり資料がないので、ここに記載しておく。
HTMLマルチメディア・セキュリティの制御には、以下のような方法がある。(責任はもてないが・・・)
//MSHTMDID.H, mshtml.hをインクルードしてください。
//画像の表示、ビデオ、BGM有効、スクリプト無効
DWORD dwDefault = DLCTL_DLIMAGES | DLCTL_VIDEOS | DLCTL_BGSOUNDS | DLCTL_NO_SCRIPTS;
BOOL CHtmlView::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar)
{
USES_CONVERSION;
if (dispid == DISPID_AMBIENT_DLCONTROL)
{
pvar->vt = VT_I4;
pvar->lVal = dwDefault;
return TRUE;
}
上記のように記載すると、HTML初回起動時において設定が反映されるが、途中で変更できない。
変更するには、更に、以下のようなコードが必要。
void CHtmlView::OnChange()
{
//画像の表示を無効化
dwDefault &= ~DLCTL_DLIMAGES;
LPOLECONTROL pOleControl = NULL;
LPDISPATCH m_pDispatch = NULL;
m_pDispatch = GetApplication(); //IDispatchインターフェイスのポインタを取得
ASSERT(m_pDispatch);
m_pDispatch->QueryInterface(IID_IOleControl, (LPVOID*)&pOleControl); //OlecontrolインターフェイスをQIします
ASSERT(pOleControl);
pOleControl->OnAmbientPropertyChange(DISPID_AMBIENT_DLCONTROL);
if (pOleControl)
pOleControl->Release();
if (m_pDispatch)
m_pDispatch->Release();
Refresh();
}
ホームへ戻る
語句説明へ戻る
Copyright (C) 2003 Mr.Tame all rights reserved