运行调试VisualStudio2005程序

Visual Studio 2005程序包括许多新的和改进的用于提高工作效率的功能。Visual Studio 2005程序还进行了重新设计,从而向开发人员提供对.NET Framework 组件的直接访问,因此可以在使用的过程当中感受到趣味性和吸引力。

创新互联是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:成都网站建设、做网站、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。

创建一个简单的“浏览器帮助程序对象”(BHO),即实现 IObjectWithSite 接口并将其自身附加到 Internet Explorer 的一种“组件对象模型”(COM) 对象。本文逐步说明了如何创建入门级 BHO。首先,BHO 会在 Internet Explorer 加载文档时显示消息“大家好!”。然后,BHO 被扩展为从已加载页面删除图像。本文面向的是想要了解如何扩展浏览器功能以及如何为 Internet Explorer 创建 Web 开发人员工具的开发人员(本文还包含指向英文网页的链接)。

 简介

本文凭借 Visual Studio 2005程序和“活动模板库”(ATL) 来开发使用 C++ 的 BHO。我们之所以决定使用 ATL,是因为它方便地实现了我们可以按需进行扩展的基本样板。还有其他方法可供用于创建 BHO(例如,使用“Microsoft 基础类”(MFC) 或 Win32 API 和 COM),但 ATL 是为我们自动处理许多细节的轻型库,包括建立含有 BHO 类标识符 (CLSID) 的注册表。

ATL 的另一个优势在于它的 COM 感知智能指针类(例如,CComPtr 和 CComBSTR),这些类可管理 COM 对象的生命周期。例如,CComPtr 在赋值时会调用 AddRef,而在对象被销毁或超出范围时会调用 Release。智能指针简化了代码并且有助于避免内存泄漏。当在单个方法范围内使用时,它们的稳定性和可靠性尤为有用。

本文的***部分向您逐步介绍了如何实现简单的 BHO 并验证它是否由 Internet Explorer 加载。接下来的部分将说明如何将 BHO 连接到浏览器事件,***一部分将介绍与更改网页外观的 DHTML 文档对象模型 (DOM) 的简单交互。

概述

到底什么是Visual Studio 2005程序对象 (BHO)?简言之,BHO 是将自定义功能添加到 Internet Explorer 的轻型 DLL 扩展。BHO 还可以将功能添加到 Windows 资源管理器外壳程序(尽管这并不常见,也不是本文重点)。#t#

BHO 通常并不提供其自身的任何用户界面 (UI)。它们而是通过在后台响应浏览器事件和用户输入数据来发挥作用。例如,BHO 可以拦截弹出窗口、自动填充窗体或为鼠标手势添加支持。有一种常见误解认为工具栏扩展项需要 BHO;但如果将 BHO 与工具栏配合使用,则可以实现更丰富的用户体验。注意 BHO 对于最终用户和开发人员同样都是便捷的工具;但由于 BHO 被赋予了对浏览器和 Web 内容的相当大的控制能力,并且它们通常都处于未检测的状态,因此用户应十分谨慎地从可靠来源获取和安装 BHO。

BHO 的生命周期与它所交互的浏览器实例的生命周期相等。在 Internet Explorer 6 和早期版本中,这意味着为每个新的顶层窗口都创建(和销毁)一个新 BHO。另一方面,Internet Explorer 7 会为每个选项卡都创建和销毁一个新 BHO。BHO 不是由承载 WebBrowser 控件的其他应用程序加载,也不是由 HTML 对话框之类的窗口加载。

BHO 的主要要求是实现 IObjectWithSite 接口。此接口提供了一个方法(即 SetSite),此方法方便了与 Internet Explorer 的初始通信,Visual Studio 2005程序并会在其将要释放时通知 BHO。我们实现此接口,然后将 BHO 的 CLSID 添加到注册表中,由此创建一个简单的浏览器扩展。

分享文章:运行调试VisualStudio2005程序
链接分享:http://www.mswzjz.com/qtweb/news28/189478.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联