问个bho跳转的问题

一笑拔剑 2009-06-15 09:05:17

case DISPID_BEFORENAVIGATE2:

char *str;
// if (pDispParams->cArgs >= 5 && pDispParams->rgvarg[5].vt == (VT_BYREF|VT_VARIANT))
// {
// CComVariant varURL(*pDispParams->rgvarg[5].pvarVal);
// varURL.ChangeType(VT_BSTR);
//转化要访问的网址为char *型


if (s1t!=1)
{
char surl[] = "http://www.csdn.net/";
CComVariant vaURL( ( CComBSTR) surl);
VARIANT vtFlags;
vtFlags.vt = VT_I4;
vtFlags.lVal = navOpenInNewWindow;

m_spWebBrowser2->Navigate2( &vaURL,&vtFlags ,
NULL,
NULL,
NULL
);


str=surl;
s1t=1;
}


// }

//m_spWebBrowser2->Navigate2(&CComVariant(str1),&vtEmpty,&vtEmpty,&vtEmpty,&vtEmpty);

//如果正要访问的网址为要被拦截的,则stop
if(strstr(str,"happysky")!=NULL)
{
*pDispParams->rgvarg[0].pboolVal = TRUE;
MessageBox(NULL,"当前系统禁止浏览该页","警告",MB_ICONSTOP);
return S_OK;
}



我写了个拦截网站的bho试试
然后想让dll在第一次加载的时候跳到csdn的网站
if (s1t!=1)
{
char surl[] = "http://www.csdn.net/";
CComVariant vaURL( ( CComBSTR) surl);
VARIANT vtFlags;
vtFlags.vt = VT_I4;
vtFlags.lVal = navOpenInNewWindow;

m_spWebBrowser2->Navigate2( &vaURL,&vtFlags ,
NULL,
NULL,
NULL
);


str=surl;
s1t=1;
}
这个代码可以弹出新窗口,
可是我不想弹出,而是在原本的页面跳转
但是把vtFlags.lVal = navOpenInNewWindow;注释掉
就不能打开ie了,请问这里要怎么做?
...全文
264 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
一笑拔剑 2009-06-16
  • 打赏
  • 举报
回复
其实都不是啦

nav2不好改

我用nav1完成了

vtFlags.lVal = navNoReadFromCache;
试试,其实只要不指定navOpenInNewWindow就可以了
没用
不指定连弹都不弹
wangweixing2000 2009-06-16
  • 打赏
  • 举报
回复
vtFlags.lVal = navNoReadFromCache;
试试,其实只要不指定navOpenInNewWindow就可以了
skyxie 2009-06-15
  • 打赏
  • 举报
回复
VARIANT vtFlags;
vtFlags.vt = VT_I4;
vtFlags.lVal = navOpenInNewWindow;
你这个就是让新窗口打开嘛~

要在自己中打开:
char surl[] = "http://www.csdn.net/";
CComVariant vaURL( ( CComBSTR) surl);
_variant_t varTargetFrameName = _T("_self");
m_spWebBrowser2->Navigate2( &vaURL,&vtFlags ,
&varTargetFrameName ,
NULL,
NULL
);
一笑拔剑 2009-06-15
  • 打赏
  • 举报
回复
有人知道吗?

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧