• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 求助,关于bho的一个疑问??

求助,关于bho的一个疑问??

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了bho,bho插件是什么,thunder bho platform,bho美剧,bho是什么等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 求助,关于bho的一个疑问??
描述:

现在大家都用bho来阻止ie弹出新窗口。
我也想试着做一下。
我的问题是,如何获得新窗口的IWebBrowser2。


解决方案1:

READYSTATE m_ReadyState;
        m_spWebBrowser2->get_ReadyState(&m_ReadyState);
        if(m_ReadyState!=READYSTATE_COMPLETE)
        {
            *pDispParams->rgvarg[0].pboolVal=TRUE;
            return S_OK;
        }
  else
  {
            *pDispParams->rgvarg[0].pboolVal=FALSE;
            return S_OK;
  }
这段代码并不能屏蔽弹出窗口,典型的例子,你打开一个sina的窗口就知道了。sina的弹出窗口在窗口全打开的时候才弹出,这种方法是无效的。

解决方案2:

>"获取新窗口的IWebBrowser2"。
新的窗口不是你自己创建的窗口?
参见http://blog.csdn.net/jiangsheng/archive/2003/11/09/3795.aspx

解决方案3:

你不是想等新窗口打开然后才关掉它吧?
我记得有方法可以在新窗口打开前截获该事件.
WebBrowser包含了一个NewWindow2的事件,在下列情况产生的时候触发。
1.  用户按shift键点击超链接
2.  在超链接出右键菜单选择在新窗口打开
3.  在主菜单上选择新建窗口
4.  超链接设置了target,但是找不到相对应匹配的时候
5.  通过编程window.open打开
楼主你可以通过检测NewWindow2事件来判断是否有新的窗口打开,根据预先定义的拦截规则拦截那些垃圾窗口。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于ATL的应用(BHO中如何使用MFC的类CString,CFileDialog等)?
  • 高分求教:BHO技术拦截Flash,但写入的js代码无效!
  • 关于BHO拦截按键的问题
  • 想BHO只加载ie,不加载我的电脑,但出错atlbaseh中5668行,ATLASSERTpM->m_hInst!=NULL;
  • VC++开发BHO插件—定制你的浏览器
  • BHO的问题
  • 在一个ie(BHO,band)插件中如何控制ie的弹出窗口的。
  • 什么工具可以反编译一个DLL,这个dll是bho
  • BHO中DIID_HTMLElementEvents2在哪个头文件中定义?
  • 在BHO中的DISPID_DOCUMENTCOMPLETE事件中取不到IHTMLDocument2的属性

相关文章

  • 2017-06-05 如何检测我的exe所需要的系统dll?
  • 2017-06-04 从list中如何取到其中的元素?
  • 2017-06-04 一道高深的问题,急!!!
  • 2017-06-05 无窗口进程的退出问题?&讨论!
  • 2017-06-04 怎么样对CAxDialogImpl<CHasmo>中的数据进行数据交换?就像CDialog的DoDataExchange?
  • 2017-06-05 IID_NULL到底是个类GUID还是接口GUID,什么时候用得到它?
  • 2017-06-05 关于dll中使用菜单求助
  • 2017-06-05 怎么最简单实现进程无法在任务管理器里结束
  • 2017-06-04 怎么修改HTML源码
  • 2017-06-05 如何查找一个进程的所有子进程在线等

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请高手帮忙呀
    • activex控件在win7下关闭调用的ie页面,会异常。盼高手赐教。
    • 多线程进内存管理是引发的奇怪的问题~请各位高手出手帮忙!
    • 我截获了某网游的GettickCount,TimeGetTime等函数调用,请问如何设置返回值以达到加速的目的?
    • 我怎样才能使一个窗口具有“alwaysontop”特性?
    • mfcactivex打印控件
    • 请教一个DLL问题
    • 急~~~~如何让对话框启动后在最底层显示
    • 有没有控件能够打开并显示Word文档,不需要编辑功能!谢谢各位了!
    • 程序作为服务运行时,程序里访问文件的路径是另外一台机器的共享目录时,为什么两台机器(运行服务的机器与另外一台要访问共享目录机器)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有