• 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编程中invoke的问题

BHO编程中invoke的问题

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

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

我正在进行针对IE浏览器的BHO编程,在其中的invoke函数中,我去截获DISPID_BEFORENAVIGATE2事件消息,然后对要访问的URL进行分析.
  我从invoke的参数pDispParams->rgvarg[5]中获取要访问的URL,然后,分析此URL是否合法,如果合法,那么用户可以正常去访问此URL,如果非法,那么我就将用户IE窗口置成空页.
  现在我的问题是,当用户访问非法URL时,我把IE窗口置成空页
  pCBHO->m_spWebBrowser2->Navigate2(&CComVariant("about:blank"), NULL, NULL, NULL, NULL);
  然后,我把pDispParams->rgvarg[5]也置成了"about:blank",
  可是,结果却不理想,IE仅仅是暂时变成了about:blank,之后马上又去访问非法URL了.
  请问我该怎么作才能让IE一直成空?需要设置invoke里的哪些参数呢?


解决方案1:

VARIANT_BOOL *&Cancel 这个值置为TRUE就OK。
MSDN没有看懂。

解决方案2:

CComQIPtr<IWebBrowser2, &IID_IWebBrowser2> pDisp;
pDisp = pDispParams->rgvarg[6].pdispVal;
CComVariant varURL(*pDispParams->rgvarg[5].pvarVal);
varURL.ChangeType(VT_BSTR);
TCHAR *strurl;
strurl = OLE2T(varURL.bstrVal);
if(_tcsstr(strurl,_T("baidu.com")) != NULL)
{
CComBSTR urlError = _T("about:blank");
VARIANT vEmpty = {0};
pDisp->Navigate(urlError, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
}
这段代码我试过了,可以实现你要的效果。
主要是把“baidu.com”当作不合法的网站。


分享到: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-04 ATL:缺省属性问题
  • 2017-06-04 完全免费电影下载提供ftp,http下载等
  • 2017-06-04 请问谁有《com+编程指南》的配套源代码
  • 2017-06-05 请问怎么样得到一个进程的CPU利用率???就象任务管理器中的显示一样占百分之几
  • 2017-06-05 请问关于GetWindowLong
  • 2017-06-05 怎么用代码实现删除自身资源
  • 2017-06-05 线程同步问题,主线程利用变量是否为真,无限循环等待线程结束,运行结果死机,代码如下
  • 2017-06-04 新手请教几个小问题
  • 2017-06-04 关于ShellExtension-如何在程序调用右键菜单中已有的功能
  • 2017-06-05 想把charstr[MAX_PATH]改成一个数组每个数组成员为charstr[MAX_PATH]?

文章分类

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

最近更新的内容

    • 用vc中alt创建的activex控件,用javascript向其传递数组类型参数的问题
    • 请问如何动态加载DLL??需要出源代码~!谢谢
    • MFC扩展DLL导出类中显示DLL中的进度对话框
    • 如何在销毁模态对话框之后获取变量的内容
    • 请问如何得到修改注册表的程序的名字?
    • 如何在OCX控件中调用令一个OCX的方法
    • 这个简单的问题怎么解决呀
    • 如何以VARIANT返回一个COM指针?????急!!!!!!!!!!!!
    • 谁知道那里有ATL的Grid控件下载的?
    • 请教:有什么工具可以查看一个进程的所有线程明细?比如线程的工作函数名,资源开销CPU占有率、CPU时间、内存占用等等

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

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