webbrowser 新窗口

csl312211865 2010-02-24 03:02:41
找了两天,也没找到这么解决阻止webbrowser点击后在IE里打开新网页,而在自身打开的方法。
大部分都和http://support.microsoft.com/kb/184876/zh-cn这的类似,但是代码照搬到程序里还是不行。。。
唉。。。这种问题0304年的时候就有很多人问了,怎么到现在都没有一个统一的,好的解决办法。。。
还是这个控件现在没人用了,用其他控件实现在自身打开?
   void CYourDlg::OnNewWindow2(LPDISPATCH FAR* ppDisp, BOOL FAR* Cancel)
{
m_dlgNewWB = new CYourDlg;
m_dlgNewWB->Create(IDD_WBDLG_DIALOG);

m_dlgNewWB->m_webBrowser.SetRegisterAsBrowser(TRUE);

*ppDisp = m_dlgNewWB->m_webBrowser.GetApplication();
}
...全文
544 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuhukun123 2012-07-25
  • 打赏
  • 举报
回复
共享一下啊,楼主
IT布道 2011-09-07
  • 打赏
  • 举报
回复
哎 我终于完美解决 了 点击超链接 不新建窗口那个问题妈的 只要2句代码就解决了 , 这个问题终于有个标准的方案了,Q495167321
xiaoshiquan 2011-05-18
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/aa752134(v=vs.85).aspx
MSDN关于Navigate的参数说明
xiaoshiquan 2011-05-18
  • 打赏
  • 举报
回复
HRESULT Navigate( BSTR url,
VARIANT *Flags,
VARIANT *TargetFrameName,
VARIANT *PostData,
VARIANT *Headers
);
调用Navigate时将第二个参数设为_self就可以了
norsd 2010-02-27
  • 打赏
  • 举报
回复
晕,可能是popup

winxp sp2 以上版本提供了一个接口, 叫

INewWindowManager 专门截获popup出来的新窗口,而这点是NewWindow2/3都做不到的.
这也是为什么ie后来升级,必须升级到sp2的原因之一.

INewWindowManager 是NewWindow2/3的超集.
mfc似乎没有实现,需要lz自己实现.

你要问我怎么实现,我也不知道.
我自己都是用我自己写的sdk的WebBrowser的,不用mfc的.
gamezealot 2010-02-25
  • 打赏
  • 举报
回复
测试代码已经发给你了,楼主可以看看。
csl312211865 2010-02-24
  • 打赏
  • 举报
回复
引用 6 楼 gamezealot 的回复:
楼主是在CDialog上加入一个activex的webbroswer控件吗?我这样试着很正常,不会打开新窗口。我的是IE6.0.
能麻烦你把测试的源码给我发一份吗?csl2005@qq.com
csl312211865 2010-02-24
  • 打赏
  • 举报
回复
引用 3 楼 aa3000 的回复:
断点调试 *ppDisp 的值正确吗?
正确,非0
csl312211865 2010-02-24
  • 打赏
  • 举报
回复
引用 4 楼 oyljerry 的回复:
响应
ON_EVENT(CYourDlg, IDC_EXPLORER1, 251, CYourDlg::NewWindow2Explorer1, VTS_PDISPATCH VTS_PBOOL)
响应了,要不然怎么会有OnNewWindow2这个函数呢。。。
gamezealot 2010-02-24
  • 打赏
  • 举报
回复
楼主是在CDialog上加入一个activex的webbroswer控件吗?我这样试着很正常,不会打开新窗口。我的是IE6.0.
oyljerry 2010-02-24
  • 打赏
  • 举报
回复
响应
ON_EVENT(CYourDlg, IDC_EXPLORER1, 251, CYourDlg::NewWindow2Explorer1, VTS_PDISPATCH VTS_PBOOL)
oyljerry 2010-02-24
  • 打赏
  • 举报
回复
响应
ON_EVENT(CYourDlg, IDC_EXPLORER1, 251, CYourDlg::NewWindow2Explorer1, VTS_PDISPATCH VTS_PBOOL)
aa3000 2010-02-24
  • 打赏
  • 举报
回复
断点调试 *ppDisp 的值正确吗?
csl312211865 2010-02-24
  • 打赏
  • 举报
回复
引用 1 楼 aa3000 的回复:
有什么不行?现象是什么?
点击后还是在IE里打开了新网页啊
aa3000 2010-02-24
  • 打赏
  • 举报
回复
有什么不行?现象是什么?

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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