我想自己定制一个浏览器,结果发现简单设置WebBrowser控件不能达到我的需求,结果我在论坛请教,有人指点了如下代码:
这里面用到了很对COM接口的知识,如Dispatch Invoke 这些应当是COM的接口吧。我实在看不懂,我想请问:
1、一个VB程序员想看懂下面的代码,需要学习些哪方面的知识?
2、现在能查到的COM接口详细一点的资料,似乎都是用C++来讲解的。我对C++学过一些入手的知识,但的确只是一知半解,有没有什么专门针对VB程序员的这方面的书刊或资料可否推荐一下?
3、COM技术出现也有好多年了,不知道从技述趋势上说,还值得深入学习吗?
STDMETHODIMP CBrowserView::XDispatch::Invoke(
DISPID dispid, REFIID, LCID, unsigned short /*wFlags*/,
DISPPARAMS* /*pDispParams*/, VARIANT* pvarResult,
EXCEPINFO*, unsigned int*)
{
switch (dispid)
{
case DISPID_AMBIENT_DLCONTROL:
pvarResult->vt = VT_I4;
pvarResult->lVal = 0;
if (m_BrowserView->m_bShowImages)
{//如果需要显示图片
pvarResult->lVal |= DLCTL_DLIMAGES;
}
if(m_BrowserView->m_bShowVideos)
{//如果需要显示视频
pvarResult->lVal |= DLCTL_VIDEOS;
}
if(m_BrowserView->m_bShowBgSounds)
{//如果需要播放背景音乐
pvarResult->lVal |= DLCTL_BGSOUNDS;
}
if(!m_BrowserView->m_bPlayFlash)
{//如果不播放flash(禁止执行OCX控件)
pvarResult->lVal |= (DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_DLACTIVEXCTLS | DLCTL_SILENT);
}
break;
default: