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