小米手机启用activex控件件

天极传媒:天极网全国分站
您现在的位置: &&
用ATL和MFC来创建ActiveX控件
Microsoft 13:27
  摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和所必须的样板文件代码。这两种框架在它们对于开发ActiveX的用途上会合了。我们将看看这两种框架是如何适用于创建ActiveX控件的――突出其优缺点,亲自经历创建一个控件的过程――以便你能够决定何时使用一种框架,何时使用另一种。   如果你希望用++来写ActiveX&控件,有两个流行的框架,一个是& Foundation Classes (MFC),另一个是ATL。我将深入的解释这两种框架对开发ActiveX控件所提供的支持,帮助你更好的决定哪种模型最适合你的开发环境和需求。
  ActiveX控件的完全形态
  ActiveX控件基于构件对象模型COM,使得ActiveX控件成为可能的COM的基本原则是一个对象的接口和其实现能够而且应该分开对待。只要COM的对象和它的客户方代码就接口细节达成了一致,如何实现就不成其问题。ActiveX控件展示了大量ActiveX控件包容器理解的接口。因为客户方代码和控件认可这些接口的外在表现,你可以编写一个ActiveX控件然后简单的将它放入包容器中。包容器将通过良好定义的接口来驱动控件,而这些控件将以自己的方式做出合适的响应。在更高的层次上,一个ActiveX控件是实现了几个主要ActiveX技术的一个COM对象,包括通常的引入COM接口,OLE嵌入协议,连接点和属性页。在较低的编程层次上,ActiveX控件只是实现了某些类型接口的COM类。当一些客户方代码成功的查询到这些接口之一时,它就知道如何使用一个ActiveX控件了。
  一个ActiveX控件暴露的接口主要分为3类。第一,ActiveX控件是可嵌入的对象;就是说,它们实现了大多数的OLE文档、in-place激活和嵌入协议。ActiveX控件实现了如下的接口:
  IOleObject, IPersistStorage, IDataObject, IOleInPlaceActiveObject, IOleInPlaceObject, IViewObject2和IRunnableObject (这一个很少用到). 第二ActiveX控件通常都支持属性页,这样客户方就可以修改控件的属性了。最后,ActiveX控件通常都利用COM的连接点技术,实现了客户方能发现的外出接口。
  为了帮助比较ATL和MFC框架,我们来看一下写在每一种框架中的相同的控件。此控件监视创建它的线程上传递的消息流。消息流控件是一个很不错的例子,因为它演示了一个ActiveX控件所有主要的方面,包括送入接口、外出接口,属性,永久性以及属性页。让我们从研究这两个框架提供的标准的COM支持开始吧。
  MFC的基本COM支持
  Microsoft建立MFC使得开发Windows&应用程序比使用SDK容易多了。有了MFC,Microsoft接着增加了对即存框架的COM支持。这意味着MFC的开发者在增加越来越多的函数时必须保持框架的完整。同时,&编译器那时还不支持模板,因此,它们不得不借助非模板的其它手段来将COM功能掺入它们的类中。Microsoft通过加入一些虚函数到CcmdTarget类和一些宏中解决了这个问题,使得在MFC中实现COM接口有了可能。
  MFC内部的COM支持从CcmdTarget开始,CcmdTarget类实现了Iunknown接口,还包括了一个用于引用计数的成员变量(m_dwRef)以及用于实现IUnknown 的6个函数:: InternalAddRef, InternalRelease, InternalQueryInterface, ExternalAddRef, ExternalRelease, 和 ExternalQueryInterface.。QueryInterface的两个版本――AddRef和Release支持COM聚合。InternalAddRef, InternalRelease和InternalQueryInterface完成引用计数和QueryInterface操作,而ExternalAddRef, ExternalRelease和 ExternalQueryInterface代理控制聚合的对象(如果此对象参与聚合的话)。
  MFC使用嵌套的类复合策略来实现COM接口。在MFC中,想实现COM 接口的类是从CcmdTarget中派生的。每个由CcmdTarget派生出的类实现的接口得到它自己的嵌套类。MFC使用宏BEGIN_INTERFACE_PART和END_INTERFACE_PART来产生嵌套类。
  最后,MFC实现了表驱动的QueryInterface。MFC的接口映射的工作机理同它的消息映射基本相同:MFC的消息映射把一个Windows消息和一个C++类中的函数相联系;MFC的接口映射把一个接口的GUID和一个表示此接口的特定的vptr的地址相联系。每个基于CcmdTarget的类实现COM接口通过更多的宏:DECLARE_INTERFACE_, BEGIN_INTERFACE_MAP, INTERFACE_PART,和 END_INTERFACE_MAP来增加一个接口映射。
  为了理解这些宏在实际中是什么样子的,请看图1,它说明了实现ActiveX控件,COleControl 的MFC类。当你细读代码时,注意ColeControl带有夹在一对BEGIN_INTERFACE_PART 和 END_INTERFACE_PART宏之间的每个接口的签名,还要注意ColeControl的接口映射表有22个条目。
  除了实现了Iunknown接口,MFC还包括IclassFactory的一个标准实现。再一次,MFC通过若干宏提供了此支持。MFC有两个宏来提供类对象:DECLARE_OLECREATE_EX 和 IMPLEMENT_OLECREATE_EX.。在一个基于CcmdTarget的类中使用这些宏增加一个ColeObjectFactory类型的静态成员到该类中。如果你看一下AFXDISP.H中 ColeObjectFactory的定义,你将会看到用在COleObjectFactory 中的MFC的嵌套类宏为实现IClassFactory2定义了一个嵌套类。IClassFactory::CreateInstance的MFC版本使用MFC的动态创建机制(DECLARE_DYNCREATE 和 IMPLEMENT_DYNCREATE宏打开此功能)来实例化COM类,因此买入MFC的COM支持同样意味着买入它的动态创建机制。
  最后几个由MFC提供的在ActiveX控件内的基本COM支持是对Idispatch的支持。用Visual C++ 和 MFC实现一个分发接口几乎是微不足道的。在MFC中实现一个分发接口,只需要使用ClassWizard就可以了。ClassWizard中的自动创建板有一个按钮用于添加属性,另一个用于添加方法。在MFC中,Idispatch支持来自CcmdTarget类。IDispatch 的MFC的实际实现在一个叫做COleDispatchImpl 的类中,ColeDispatchImpl派生自Idispatch,实现了所有4个Idispatch函数:GetTypeInfoCount, GetTypeInfo, GetIDsOfNames, 和 Invoke.。由CcmdTarget派生的类通过调用EnableAutomation,将IDispatch vptr加入到它们的接口映射中。当客户在基于MFC的ActiveX控件上调用IDispatch 的QueryInterface时,CcmdTarget交出链接在ColeDispatchImpl上的vptr。
  每次你使用ClassWizard将一个自动属性或者方法加入到一个类中时,你同时也在该类的分发映射表中加入了一项。一个分发映射表是一个将DISPIDs(用来调用分发成员的符号)和它们的供人读的名字以及和实际完成这个工作的某些C++代码联系起来的简单的表格。ColeDispatchImpl的调用以及GetIDsOfNames函数通过在类的分发映射表中查找分发成员并分发DISPID相对应的函数来工作。MFC能为某些基于COM的高级技术如OLE文档、OLE拖放和自动操作提供非常好的支持,然而,如果你想更改框架――比如说,你想将分发接口编程双接口的――你就得大动手脚了。另一方面,ATL更加是COM中心的。
(作者: 责任编辑:)
欢迎在新浪微博上关注我们
笔记本手机数码家电
document.write("");ActiveX控件 - Softonic
最常见的搜索结果
软件下载排行榜
控件清理助手
Softonic - 最新
软件授权共享软件
软件授权共享软件
软件授权共享软件
语言简体中文
软件授权共享软件
软件授权共享软件
软件授权免费软件
语言简体中文
软件授权免费软件
软件授权免费软件
软件授权共享软件
软件授权免费软件
软件授权免费软件
软件授权免费软件
软件授权共享软件
软件授权共享软件
语言简体中文
软件授权免费软件
语言简体中文
Top Downloads: ActiveX控件
Softonic - 最佳下载
控件清理助手
Softonic - 最佳下载
控件清理助手天极传媒:天极网全国分站
您现在的位置:
& &&Win8.1“八月更新”官方更新日志详情
Windows 8.1“八月更新”官方更新日志详情Win8视界网 15:58
  【视界网消息】本周候正式放出了.1系统的“8月更新”,本次系统更新主要修复了几个BUG并带来了一系列的功能改善。今天微软放出了更新日志,完整罗列了本次系统更新所带来的改变。
  板精准度改善:更新后能够让设备同触控板之间的操作变得更加协调,精准度大大提升。当连接之后触控板的精准度不会出现下降,此外更新后允许在触控板上实现鼠标右键的功能,而双击和拖拽功能都被得到了改善。用户可以通过PC设置来对鼠标和触控板进行进一步的细节调整。
  IE浏览器阻止过旧ActiveX控件:更新后IE浏览器会根据微软托管文件(versionlist.xml)对ActiveX控件的日期进行定义区分,出于安全方面的考量过旧的控件将会停止加载,目前初步的处理对象主要涉及老版本的控件,不过会在未来更加其他更多的过时ActiveX控件。在默认情况下用户会受到相关的警告,来升级控件或者忽略通知。
  针对扫描搜索的多个WiFi Direct API接口:更新针对搜索扫描带来了全新的WiFi直连API接口,允许独立硬件供应商或者OEM厂商来在所有支持X86和X64版本的Windows 8.1系统上开发基于Windows平台的程序,并允许他们在Windows平台上创建Miracast接收器。
  文件的视频捕获元数据:这项新的功能允许开发者通过使用Windows Runtime和Win32 API来读取或者写入“拍摄日期”和数据等等。
  微软SharePoint在线的最小化登录提示:提示数量将进行同步,当用户访问SharePoint在线网站的时候提示数量会相应减少。如果用户在完成首次登录之后选择“Keep me signed in”复选框,将不会看到成功登录SharePoint在线网络的提示。
  更新和恢复设置调整:Windows Update设置选项提供了更多如何更新系统的相关信息,已经可以罗列最近一次检查更新的时间和最近一次安装更新的时间。
  此外本次更新还修复了大量的BUG,除了新功能之外,“8月更新”对部分功能进行了改善,并修复了大量的BUG,部分重要调整如下:
  当在Windows RT 8.1或者Windows 8.1中使用中文字符进行输入的时候支持拼音串输入;
  在Windows 8.1或者Windows Server 2012系统中,对SQL的数据进行加密的可以不断增加私有字节;
  阻止Windows Server Essentials整合到Office 365或者Windows Azure Active库中;
  当使用配置管理器来部署非英语版的Windows RT 8.1或者Windows 8.1系统应用程序会丢失本地数据;
  当将储存报告链接到Windows的的计划任务中进程名称将会被删除;
  在Windows 8.1或者Windows Server 2012 R2系统可以在Windows设备管理器中USB设备出现的黄色感叹号标记;
  关注Windows 8.1的朋友可以访问《》查看更多Win8.1系统特性与使用技巧。
更多Win8资讯 尽在
(作者:Win8视界网责任编辑:杨玲)
欢迎在新浪微博上关注我们
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
Win8系统突破性地增加了全新界面、内置Windows Store、支持ARM架构等诸多全新设计。
手机整机DIY企业级
pc软件手机软件
document.write("");经验126 米
在线时间1 小时
版本JLB22.0
积分 27, 距离下一级还需 173 积分
积分 27, 距离下一级还需 173 积分
机型小米手机2/2S
签到次数10
MIUI版本JLB22.0
想问一下,小米手机的MIUI系统,能否登陆银行网页后,安装安全控件后登陆自己的网银,或者登陆证券公司的网页后当然是WWW的网页,然后安装安全控件后登陆自己的交易帐户进行股票交易呢?
我用HTC手机试了一下的在打开UC浏览器登陆后,无法安装安全控件,所以不能录入登陆密码,自然无法进行网页交易,但用windows xp或者win7的IE或者其他浏览器,是可以安装安全控件的,也就可以进行网页交易,这样就方便很多.不知道我的问题有没有人试过,或者有没有人有什么办法可以解决.
期待了解情况的朋友给解答一下.
经验1862 米
在线时间352 小时
积分 2493, 距离下一级还需 2507 积分
积分 2493, 距离下一级还需 2507 积分
机型红米手机 WCDMA版
签到次数35
MIUI版本4.5.0
你还真把手机当PC用了。
网银的安全控件基本上都是for IE的ActiveX控件,就连PC上的其他非IE核心浏览器都不一定支持,手机上的浏览器基本都是webkit核心的,更不可能支持了
经验2624 米
在线时间382 小时
版本3.12.20
卍南無阿彌陀佛卍卍
积分 3107, 距离下一级还需 1893 积分
积分 3107, 距离下一级还需 1893 积分
机型Samsung Galaxy S4
签到次数49
MIUI版本3.12.20
建议你用手机网银
小米手机元器件合体活动勋章
小米求合体勋章
Copyright (C) 2015 MIUI 京ICP备号}

我要回帖

更多关于 启用activex控件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信